2 * Copyright (c) 1998-2000, Index Data.
3 * See the file LICENSE for details.
5 * $Id: yaz-proxy.h,v 1.3 2001-03-26 14:43:49 adam Exp $
8 #include <yaz++/yaz-z-assoc.h>
9 #include <yaz++/yaz-z-query.h>
14 class YAZ_EXPORT Yaz_ProxyClient : public Yaz_Z_Assoc {
16 Yaz_ProxyClient(IYaz_PDU_Observable *the_PDU_Observable);
18 void recv_Z_PDU(Z_APDU *apdu);
19 IYaz_PDU_Observer* sessionNotify
20 (IYaz_PDU_Observable *the_PDU_Observable, int fd);
27 Yaz_ProxyClient *m_next;
28 Yaz_ProxyClient **m_prev;
30 Yaz_Z_Query *m_last_query;
31 int m_last_resultCount;
37 /// Information Retrieval Proxy Server.
38 class YAZ_EXPORT Yaz_Proxy : public Yaz_Z_Assoc {
40 char *get_cookie(Z_OtherInformation **otherInfo);
41 char *get_proxy(Z_OtherInformation **otherInfo);
42 Yaz_ProxyClient *get_client(Z_APDU *apdu);
43 Z_APDU *result_set_optimize(Z_APDU *apdu);
46 Yaz_ProxyClient *m_client;
47 IYaz_PDU_Observable *m_PDU_Observable;
48 Yaz_ProxyClient *m_clientPool;
56 Yaz_Proxy(IYaz_PDU_Observable *the_PDU_Observable);
58 void recv_Z_PDU(Z_APDU *apdu);
59 IYaz_PDU_Observer* sessionNotify
60 (IYaz_PDU_Observable *the_PDU_Observable, int fd);
64 void set_proxyTarget(const char *target);
65 char *get_proxyTarget() { return m_proxyTarget; };
66 void set_max_clients(int m) { m_max_clients = m; };