X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;ds=sidebyside;f=src%2Ffilter_session_shared.cpp;h=996bfe985c5a20177fbced901a83dca090e28a47;hb=f47e8cf4cde2ba5465106e219c803e6424a4f177;hp=7a8b4faebda403a62b5cda0007504cd703a095e4;hpb=ad428707d2a52bbe4db21e47c5ebb26e13598484;p=metaproxy-moved-to-github.git diff --git a/src/filter_session_shared.cpp b/src/filter_session_shared.cpp index 7a8b4fa..996bfe9 100644 --- a/src/filter_session_shared.cpp +++ b/src/filter_session_shared.cpp @@ -1,4 +1,4 @@ -/* $Id: filter_session_shared.cpp,v 1.4 2006-01-04 11:55:31 adam Exp $ +/* $Id: filter_session_shared.cpp,v 1.6 2006-01-13 15:09:35 adam Exp $ Copyright (c) 2005, Index Data. %LICENSE% @@ -7,7 +7,6 @@ #include "config.hpp" #include "filter.hpp" -#include "router.hpp" #include "package.hpp" #include @@ -31,7 +30,7 @@ namespace yp2 { class SessionShared::Rep { friend class SessionShared; void handle_init(Z_InitRequest *req, Package &package); - void handle_search(Z_SearchRequest *req, Package &package); + void handle_search(Z_APDU *req, Package &package); public: typedef boost::shared_ptr SharedList; @@ -103,18 +102,21 @@ yf::SessionShared::~SessionShared() { } -void yf::SessionShared::Rep::handle_search(Z_SearchRequest *req, - Package &package) +void yf::SessionShared::Rep::handle_search(Z_APDU *apdu_req, + Package &package) { yaz_log(YLOG_LOG, "Got search"); + // Z_SearchRequest *req = apdu_req->u.searchRequest; + SessionListMap::iterator it = m_session_list_map.find(package.session()); if (it == m_session_list_map.end()) { yp2::odr odr; - package.response() = odr.create_close( - Z_Close_protocolError, - "no session for search request in session_shared"); + package.response() = + odr.create_close(apdu_req, + Z_Close_protocolError, + "no session for search request in session_shared"); package.session().close(); return; @@ -232,13 +234,13 @@ void yf::SessionShared::process(Package &package) const m_p->handle_init(apdu->u.initRequest, package); break; case Z_APDU_searchRequest: - m_p->handle_search(apdu->u.searchRequest, package); + m_p->handle_search(apdu, package); break; default: yp2::odr odr; - package.response() = odr.create_close( - Z_Close_protocolError, - "cannot handle a package of this type"); + package.response() = + odr.create_close(apdu, Z_Close_protocolError, + "cannot handle a package of this type"); package.session().close(); break;