X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fyaz-z-server-sr.cpp;h=680248ae8cd1c619993ad44b1234f8f422791d79;hb=d3d51bee2100324025f7530d4e3ff3502397fd83;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..680248a 100644 --- a/src/yaz-z-server-sr.cpp +++ b/src/yaz-z-server-sr.cpp @@ -2,17 +2,12 @@ * Copyright (c) 2000-2001, 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.6 2003-10-01 13:13:51 adam Exp $ * */ #include -#include +#include Z_Records *Yaz_Facility_Retrieval::pack_records (Yaz_Z_Server *s, const char *resultSetName, @@ -227,6 +222,7 @@ int Yaz_Facility_Retrieval::recv(Yaz_Z_Server *s, Z_APDU *apdu_request) 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 +230,18 @@ 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;