-/* $Id: proxy.h,v 1.28 2006-03-29 13:33:46 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
#include <yazpp/gdu.h>
#include <yazpp/gduqueue.h>
#include <yazproxy/bw.h>
+#include <yazproxy/limit-connect.h>
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;
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;
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,
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,