-class YAZ_EXPORT Yaz_RecordCache {
- public:
- Yaz_RecordCache ();
- ~Yaz_RecordCache ();
- void add (ODR o, Z_NamePlusRecordList *npr, int start, int hits);
-
- int lookup (ODR o, Z_NamePlusRecordList **npr, int start, int num,
- Odr_oid *syntax, Z_RecordComposition *comp);
- void clear();
-
- void copy_searchRequest(Z_SearchRequest *sr);
- void copy_presentRequest(Z_PresentRequest *pr);
- void set_max_size(int sz);
- private:
- NMEM m_mem;
- Yaz_RecordCache_Entry *m_entries;
- Z_SearchRequest *m_searchRequest;
- Z_PresentRequest *m_presentRequest;
- int match (Yaz_RecordCache_Entry *entry,
- Odr_oid *syntax, int offset,
- Z_RecordComposition *comp);
- int m_max_size;
-};
-
-/// Private class
-class YAZ_EXPORT Yaz_ProxyClient : public Yaz_Z_Assoc {
- friend class Yaz_Proxy;
- Yaz_ProxyClient(IYaz_PDU_Observable *the_PDU_Observable,
- Yaz_Proxy *parent);
- ~Yaz_ProxyClient();
- void recv_GDU(Z_GDU *apdu, int len);
- void recv_Z_PDU(Z_APDU *apdu, int len);
- void recv_HTTP_response(Z_HTTP_Response *apdu, int len);
- IYaz_PDU_Observer* sessionNotify
- (IYaz_PDU_Observable *the_PDU_Observable, int fd);
- void shutdown();
- Yaz_Proxy *m_server;
- void failNotify();
- void timeoutNotify();
- void connectNotify();
- int send_to_target(Z_APDU *apdu);
- const char *get_session_str();
- char *m_cookie;
- Yaz_ProxyClient *m_next;
- Yaz_ProxyClient **m_prev;
- int m_init_flag;
- Yaz_Z_Query *m_last_query;
- Yaz_Z_Databases m_last_databases;
- char *m_last_resultSetId;
- int m_last_ok;
- int m_last_resultCount;
- int m_sr_transform;
- int m_seqno;
- int m_waiting;
- int m_resultSetStartPoint;
- int m_bytes_sent;
- int m_bytes_recv;
- int m_pdu_recv;
- ODR m_init_odr;
- Z_APDU *m_initResponse;
- Z_Options *m_initResponse_options;
- Z_ProtocolVersion *m_initResponse_version;
- int m_initResponse_preferredMessageSize;
- int m_initResponse_maximumRecordSize;
- Yaz_RecordCache m_cache;
- void pre_init_client();
- int m_target_idletime;
- Yaz_Proxy *m_root;
-};
-
-