X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fyaz-z-server-sr.cpp;h=caa08130c6071f50419bac24e97e09c6e2ba73b2;hb=5e3f7e1a720a08d30c407049c94c6ca825a5ed27;hp=4c0b58d7352a11db496081ccc7ec8b11e6d212e4;hpb=ba7a7aa994136b9bb5b775ad84192f96259bd9c0;p=yazpp-moved-to-github.git diff --git a/src/yaz-z-server-sr.cpp b/src/yaz-z-server-sr.cpp index 4c0b58d..caa0813 100644 --- a/src/yaz-z-server-sr.cpp +++ b/src/yaz-z-server-sr.cpp @@ -1,18 +1,13 @@ /* - * Copyright (c) 2000-2001, Index Data. + * Copyright (c) 2000-2004, Index Data. * See the file LICENSE for details. * - * $Log: yaz-z-server-sr.cpp,v $ - * Revision 1.2 2001-04-04 14:02:49 adam - * URSULA / Z-ruth service. - * - * Revision 1.1 2001/03/27 15:02:14 adam - * New server facility scheme. + * $Id: yaz-z-server-sr.cpp,v 1.8 2004-12-13 20:50:54 adam Exp $ * */ #include -#include +#include Z_Records *Yaz_Facility_Retrieval::pack_records (Yaz_Z_Server *s, const char *resultSetName, @@ -36,9 +31,6 @@ Z_Records *Yaz_Facility_Retrieval::pack_records (Yaz_Z_Server *s, *pres = Z_PRES_SUCCESS; *next = 0; - yaz_log(LOG_LOG, "Request to pack %d+%d", start, toget); - yaz_log(LOG_LOG, "pms=%d, mrs=%d", m_preferredMessageSize, - m_maximumRecordSize); for (recno = start; reclist->num_records < toget; recno++) { Z_NamePlusRecord *this_rec = @@ -69,20 +61,16 @@ Z_Records *Yaz_Facility_Retrieval::pack_records (Yaz_Z_Server *s, */ total_length = odr_total(odr_encode()) - dumped_records; this_length = odr_total(odr_encode()) - total_length; - yaz_log(LOG_LOG, " fetched record, len=%d, total=%d", - this_length, total_length); if (this_length + total_length > m_preferredMessageSize) { /* record is small enough, really */ if (this_length <= m_preferredMessageSize) { - yaz_log(LOG_LOG, " Dropped last normal-sized record"); *pres = Z_PRES_PARTIAL_2; break; } if (this_length >= m_maximumRecordSize) { /* too big entirely */ - yaz_log(LOG_LOG, "Record > maxrcdsz"); reclist->records[reclist->num_records] = this_rec; create_surrogateDiagnostics(odr_encode(), this_rec, this_rec->databaseName, 17, 0); @@ -93,10 +81,9 @@ Z_Records *Yaz_Facility_Retrieval::pack_records (Yaz_Z_Server *s, } else /* record can only be fetched by itself */ { - yaz_log(LOG_LOG, " Record > prefmsgsz"); if (toget > 1) { - yaz_log(LOG_DEBUG, " Dropped it"); + yaz_log(YLOG_DEBUG, " Dropped it"); reclist->records[reclist->num_records] = this_rec; create_surrogateDiagnostics(odr_encode(), this_rec, this_rec->databaseName, @@ -225,8 +212,8 @@ int Yaz_Facility_Retrieval::recv(Yaz_Z_Server *s, Z_APDU *apdu_request) switch (apdu_request->which) { case Z_APDU_searchRequest: - yaz_log (LOG_LOG, "got SearchRequest p=%p", this); apdu_response = s->create_Z_PDU(Z_APDU_searchResponse); + s->transfer_referenceId(apdu_request, apdu_response); sr_search (apdu_request->u.searchRequest, apdu_response->u.searchResponse); if (!apdu_response->u.searchResponse->records) @@ -234,17 +221,17 @@ int Yaz_Facility_Retrieval::recv(Yaz_Z_Server *s, Z_APDU *apdu_request) fetch_via_piggyback(s, apdu_request->u.searchRequest, apdu_response->u.searchResponse); } - s->send_Z_PDU(apdu_response); + s->send_Z_PDU(apdu_response, 0); return 1; case Z_APDU_presentRequest: - yaz_log (LOG_LOG, "got PresentRequest p=%p", this); apdu_response = s->create_Z_PDU(Z_APDU_presentResponse); + s->transfer_referenceId(apdu_request, apdu_response); sr_present (apdu_request->u.presentRequest, apdu_response->u.presentResponse); if (!apdu_response->u.presentResponse->records) fetch_via_present(s, apdu_request->u.presentRequest, apdu_response->u.presentResponse); - s->send_Z_PDU(apdu_response); + s->send_Z_PDU(apdu_response, 0); return 1; } return 0;