X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fyaz-proxy.h;h=3d051c9e6221a84c4b107b8c792b609659c77c21;hb=2e14b1af67a2044e73d024bc29445035910a2dd4;hp=86ae64284db4a9f5a965602ecbb50fc5c17b4527;hpb=3109185a2036377894be1dd303d899a305b44281;p=yazpp-moved-to-github.git diff --git a/include/yaz-proxy.h b/include/yaz-proxy.h index 86ae642..3d051c9 100644 --- a/include/yaz-proxy.h +++ b/include/yaz-proxy.h @@ -3,10 +3,11 @@ * See the file LICENSE for details. * Sebastian Hammer, Adam Dickmeiss * - * $Id: yaz-proxy.h,v 1.4 1999-04-20 10:30:05 adam Exp $ + * $Id: yaz-proxy.h,v 1.8 1999-11-10 10:02:34 adam Exp $ */ #include +#include class Yaz_Proxy; @@ -14,12 +15,19 @@ class Yaz_Proxy; class YAZ_EXPORT Yaz_ProxyClient : public Yaz_Z_Assoc { friend Yaz_Proxy; Yaz_ProxyClient(IYaz_PDU_Observable *the_PDU_Observable); + ~Yaz_ProxyClient(); void recv_Z_PDU(Z_APDU *apdu); IYaz_PDU_Observer* clone(IYaz_PDU_Observable *the_PDU_Observable); Yaz_Proxy *m_server; void failNotify(); - char *m_cookie; + void timeoutNotify(); + char m_cookie[32]; Yaz_ProxyClient *m_next; + Yaz_ProxyClient **m_prev; + int m_init_flag; + Yaz_Z_Query *m_last_query; + int m_last_resultCount; + int m_sr_transform; }; /// Information Retrieval Proxy Server. @@ -30,10 +38,20 @@ class YAZ_EXPORT Yaz_Proxy : public Yaz_Z_Assoc { 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); Yaz_ProxyClient *m_client; IYaz_PDU_Observable *m_PDU_Observable; + Yaz_ProxyClient *m_clientPool; + Yaz_Proxy *m_parent; + int m_seqno; + int m_keepalive; + char *m_proxyTarget; }; +