X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fyaz-proxy.h;h=128d3b7c59c13ec77da2d8ffaed8b9b5f93bcb6f;hb=87be6c609c22d9620c781b95ab74298b63694055;hp=3d051c9e6221a84c4b107b8c792b609659c77c21;hpb=2e14b1af67a2044e73d024bc29445035910a2dd4;p=yazpp-moved-to-github.git diff --git a/include/yaz-proxy.h b/include/yaz-proxy.h index 3d051c9..128d3b7 100644 --- a/include/yaz-proxy.h +++ b/include/yaz-proxy.h @@ -3,7 +3,7 @@ * See the file LICENSE for details. * Sebastian Hammer, Adam Dickmeiss * - * $Id: yaz-proxy.h,v 1.8 1999-11-10 10:02:34 adam Exp $ + * $Id: yaz-proxy.h,v 1.11 2000-08-07 14:19:59 adam Exp $ */ #include @@ -18,9 +18,11 @@ class YAZ_EXPORT Yaz_ProxyClient : public Yaz_Z_Assoc { ~Yaz_ProxyClient(); void recv_Z_PDU(Z_APDU *apdu); IYaz_PDU_Observer* clone(IYaz_PDU_Observable *the_PDU_Observable); + void shutdown(); Yaz_Proxy *m_server; void failNotify(); void timeoutNotify(); + void connectNotify(); char m_cookie[32]; Yaz_ProxyClient *m_next; Yaz_ProxyClient **m_prev; @@ -28,30 +30,38 @@ class YAZ_EXPORT Yaz_ProxyClient : public Yaz_Z_Assoc { Yaz_Z_Query *m_last_query; int m_last_resultCount; int m_sr_transform; + int m_seqno; }; /// Information Retrieval Proxy Server. class YAZ_EXPORT Yaz_Proxy : public Yaz_Z_Assoc { - public: - Yaz_Proxy(IYaz_PDU_Observable *the_PDU_Observable); - ~Yaz_Proxy(); - void recv_Z_PDU(Z_APDU *apdu); - IYaz_PDU_Observer* clone(IYaz_PDU_Observable *the_PDU_Observable); - void failNotify(); - void timeoutNotify(); - void proxyTarget(const char *target); private: char *get_cookie(Z_OtherInformation **otherInfo); char *get_proxy(Z_OtherInformation **otherInfo); Yaz_ProxyClient *get_client(Z_APDU *apdu); Z_APDU *result_set_optimize(Z_APDU *apdu); + void shutdown(); Yaz_ProxyClient *m_client; IYaz_PDU_Observable *m_PDU_Observable; Yaz_ProxyClient *m_clientPool; Yaz_Proxy *m_parent; int m_seqno; + int m_max_clients; int m_keepalive; char *m_proxyTarget; + char *m_APDU_fname; + long m_seed; + public: + Yaz_Proxy(IYaz_PDU_Observable *the_PDU_Observable); + ~Yaz_Proxy(); + void recv_Z_PDU(Z_APDU *apdu); + IYaz_PDU_Observer* clone(IYaz_PDU_Observable *the_PDU_Observable); + void failNotify(); + void timeoutNotify(); + void connectNotify(); + void set_proxyTarget(const char *target); + char *get_proxyTarget() { return m_proxyTarget; }; + void set_max_clients(int m) { m_max_clients = m; }; };