X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=include%2Fyazproxy%2Fproxy.h;h=e7bb0851a0c1ff57113d8f98f7a153cfa6347481;hb=b23e9a676e80d7083d39cc913f61e5124b45da67;hp=5a6ae44c5e9c547a71a93c39c7b38f308fba20fb;hpb=36388cfc9c49bf00dfbb3cc9932504a77af9b6f2;p=yazproxy-moved-to-github.git diff --git a/include/yazproxy/proxy.h b/include/yazproxy/proxy.h index 5a6ae44..e7bb085 100644 --- a/include/yazproxy/proxy.h +++ b/include/yazproxy/proxy.h @@ -1,7 +1,7 @@ -/* $Id: proxy.h,v 1.27 2006-03-25 10:59:14 adam Exp $ - Copyright (c) 1998-2005, Index Data. +/* $Id: proxy.h,v 1.33 2006-04-06 17:09:16 adam Exp $ + Copyright (c) 1998-2006, Index Data. -This file is part of the yaz-proxy. +This file is part of the yazproxy. YAZ proxy is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free @@ -22,15 +22,16 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #ifndef YAZ_PROXY_H_INCLUDED #define YAZ_PROXY_H_INCLUDED -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include #include -#include -#include +#include +#include #include +#include class Yaz_Proxy; @@ -40,6 +41,7 @@ class Yaz_Proxy; #define PROXY_LOG_APDU_SERVER 2 #define PROXY_LOG_REQ_CLIENT 4 #define PROXY_LOG_REQ_SERVER 8 +#define PROXY_LOG_IP_CLIENT 16 class Yaz_usemarcon; class Yaz_ProxyConfig; @@ -90,7 +92,7 @@ class YAZ_EXPORT Yaz_Proxy : public yazpp_1::Z_Assoc { long m_seed; char *m_optimize; int m_session_no; // sequence for each client session - char m_session_str[30]; // session string (time:session_no) + char m_session_str[200]; // session string (time:session_no) Yaz_ProxyConfig *m_config; char *m_config_fname; int m_bytes_sent; @@ -105,12 +107,18 @@ class YAZ_EXPORT Yaz_Proxy : public yazpp_1::Z_Assoc { timeout_xsl } m_timeout_mode; - int m_connect_max; + int m_initial_reduce; + int m_max_connect; + int m_max_connect_period; + int m_limit_connect; + int m_limit_connect_period; int m_search_max; Yaz_bw m_bw_stat; int m_pdu_max; Yaz_bw m_pdu_stat; int m_max_record_retrieve; + Yaz_bw m_search_stat; + void handle_max_record_retrieve(Z_APDU *apdu); void display_diagrecs(Z_DiagRec **pp, int num); Z_Records *create_nonSurrogateDiagnostics(ODR o, int error, @@ -197,6 +205,7 @@ class YAZ_EXPORT Yaz_Proxy : public yazpp_1::Z_Assoc { Yaz_usemarcon *m_usemarcon; Yaz_CharsetConverter *m_charset_converter; yazpp_1::GDUQueue m_in_queue; + LimitConnect m_connect; public: Yaz_Proxy(yazpp_1::IPDU_Observable *the_PDU_Observable, yazpp_1::ISocketObservable *the_socket_observable,