X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fyazproxy%2Fproxy.h;h=0357948770fd2facc27133fcfd1602c5918ebb54;hb=d119ba229b6c9257c4efb634bf7425d6595196ff;hp=5f015fefd7217bfa8e1176645865a1c8daf091c7;hpb=8acbd42b3c2cc8fec0c3e1da777415cd6ba66820;p=yazproxy-moved-to-github.git diff --git a/include/yazproxy/proxy.h b/include/yazproxy/proxy.h index 5f015fe..0357948 100644 --- a/include/yazproxy/proxy.h +++ b/include/yazproxy/proxy.h @@ -1,5 +1,5 @@ -/* $Id: proxy.h,v 1.34 2006-04-13 00:02:23 adam Exp $ - Copyright (c) 1998-2006, Index Data. +/* $Id: proxy.h,v 1.39 2007-05-08 12:05:08 adam Exp $ + Copyright (c) 1998-2007, Index Data. This file is part of the yazproxy. @@ -69,8 +69,9 @@ class YAZ_EXPORT Yaz_Proxy : public yazpp_1::Z_Assoc { void HTTP_Forwarded(Z_GDU *z_gdu); void connect_stat(bool &block, int &reduce); Yaz_ProxyClient *get_client(Z_APDU *apdu, const char *cookie, - const char *proxy_host); + const char *proxy_host, int *http_code); void srw_get_client(const char *db, const char **backend_db); + int get_number_of_connections(); Z_APDU *result_set_optimize(Z_APDU *apdu); void releaseClient(); Yaz_ProxyClient *m_client; @@ -85,6 +86,7 @@ class YAZ_EXPORT Yaz_Proxy : public yazpp_1::Z_Assoc { int m_keepalive_limit_pdu; int m_client_idletime; int m_target_idletime; + int m_max_sockets; int m_debug_mode; char *m_proxyTarget; char *m_default_target; @@ -146,7 +148,7 @@ class YAZ_EXPORT Yaz_Proxy : public yazpp_1::Z_Assoc { char *m_schema; char *m_backend_type; char *m_backend_charset; - int m_frontend_type; + Odr_oid m_frontend_type[OID_SIZE]; void convert_to_frontend_type(Z_NamePlusRecordList *p); void convert_to_marcxml(Z_NamePlusRecordList *p, const char *charset); void convert_records_charset(Z_NamePlusRecordList *p, const char *charset); @@ -213,12 +215,11 @@ class YAZ_EXPORT Yaz_Proxy : public yazpp_1::Z_Assoc { Yaz_Proxy *parent = 0); ~Yaz_Proxy(); - void inc_ref(); - bool dec_ref(bool main_ptr); - + bool dec_ref(); int handle_authentication(Z_APDU *apdu); + int handle_global_authentication(Z_APDU *apdu); void result_authentication(Z_APDU *apdu, int ret); void handle_init(Z_APDU *apdu); void inc_request_no(); @@ -255,6 +256,7 @@ class YAZ_EXPORT Yaz_Proxy : public yazpp_1::Z_Assoc { int handle_init_response_for_invalid_session(Z_APDU *apdu); void set_debug_mode(int mode); void send_response_fail_client(const char *addr); + int m_num_msg_threads; Msg_Thread *m_my_thread; void base64_decode(const char *base64, char *buf, int buf_len); };