/*
- * Copyright (c) 1998-1999, Index Data.
+ * Copyright (c) 1998-2000, Index Data.
* See the file LICENSE for details.
- * Sebastian Hammer, Adam Dickmeiss
*
- * $Id: yaz-proxy.h,v 1.7 1999-04-28 13:31:17 adam Exp $
+ * $Id: yaz-proxy.h,v 1.13 2000-09-08 10:23:42 adam Exp $
*/
#include <yaz-z-assoc.h>
~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;
Yaz_Z_Query *m_last_query;
int m_last_resultCount;
int m_sr_transform;
+ int m_seqno;
+ int m_waiting;
};
/// 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();
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;
+ 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; };
};