metaproxy  1.21.0
Public Member Functions | Private Member Functions | Private Attributes | List of all members
metaproxy_1::filter::FrontendNet::ZAssocServer Class Reference
Inheritance diagram for metaproxy_1::filter::FrontendNet::ZAssocServer:
Inheritance graph
Collaboration diagram for metaproxy_1::filter::FrontendNet::ZAssocServer:
Collaboration graph

Public Member Functions

 ~ZAssocServer ()
 
 ZAssocServer (yazpp_1::IPDU_Observable *PDU_Observable, FrontendNet::Port *port, Rep *rep)
 
void set_package (const mp::Package *package)
 
void set_thread_pool (ThreadPoolSocketObserver *observer)
 

Private Member Functions

yazpp_1::IPDU_Observer * sessionNotify (yazpp_1::IPDU_Observable *the_PDU_Observable, int fd)
 
void recv_GDU (Z_GDU *apdu, int len)
 
void failNotify ()
 
void timeoutNotify ()
 
void connectNotify ()
 

Private Attributes

mp::ThreadPoolSocketObserverm_thread_pool_observer
 
const mp::Package * m_package
 
yazpp_1::LimitConnect limit_connect
 
yazpp_1::LimitConnect limit_http_req
 
Portm_port
 
Repm_p
 

Detailed Description

Definition at line 164 of file filter_frontend_net.cpp.

Constructor & Destructor Documentation

◆ ~ZAssocServer()

mp::filter::FrontendNet::ZAssocServer::~ZAssocServer ( )

Definition at line 611 of file filter_frontend_net.cpp.

612 {
613 }

◆ ZAssocServer()

mp::filter::FrontendNet::ZAssocServer::ZAssocServer ( yazpp_1::IPDU_Observable *  PDU_Observable,
FrontendNet::Port port,
Rep rep 
)

Definition at line 536 of file filter_frontend_net.cpp.

References m_package.

Member Function Documentation

◆ connectNotify()

void mp::filter::FrontendNet::ZAssocServer::connectNotify ( )
private

Definition at line 627 of file filter_frontend_net.cpp.

628 {
629 }

◆ failNotify()

void mp::filter::FrontendNet::ZAssocServer::failNotify ( )
private

Definition at line 619 of file filter_frontend_net.cpp.

620 {
621 }

◆ recv_GDU()

void mp::filter::FrontendNet::ZAssocServer::recv_GDU ( Z_GDU *  apdu,
int  len 
)
private

Definition at line 615 of file filter_frontend_net.cpp.

616 {
617 }

◆ sessionNotify()

yazpp_1::IPDU_Observer * mp::filter::FrontendNet::ZAssocServer::sessionNotify ( yazpp_1::IPDU_Observable *  the_PDU_Observable,
int  fd 
)
private

Definition at line 558 of file filter_frontend_net.cpp.

560 {
561 
562  const char *peername = the_PDU_Observable->getpeername();
563  if (!peername)
564  peername = "unknown";
565  else
566  {
567  const char *cp = strchr(peername, ':');
568  if (cp)
569  peername = cp + 1;
570  }
571  if (peername)
572  {
573  int total_sz = m_p->m_peerStat.get(peername);
574  std::list<IP_Pattern>::const_iterator it = m_p->connect_total.begin();
575  for (; it != m_p->connect_total.end(); it++)
576  {
577  if (mp::util::match_ip(it->pattern, peername))
578  {
579  if (it->verbose > 1 ||
580  (it->value && total_sz >= it->value && it->verbose > 0))
581  yaz_log(YLOG_LOG, "connect-total pattern=%s ip=%s con_sz=%d value=%d", it->pattern.c_str(), peername, total_sz, it->value);
582  if (total_sz < it->value)
583  break;
584  return 0;
585  }
586  }
587  limit_connect.cleanup(false);
588  int con_sz = limit_connect.get_total(peername);
589  it = m_p->connect_max.begin();
590  for (; it != m_p->connect_max.end(); it++)
591  {
592  if (mp::util::match_ip(it->pattern, peername))
593  {
594  if (it->verbose > 1 ||
595  (it->value && con_sz >= it->value && it->verbose > 0))
596  yaz_log(YLOG_LOG, "connect-max pattern=%s ip=%s con_sz=%d value=%d", it->pattern.c_str(), peername, con_sz, it->value);
597  if (con_sz < it->value)
598  break;
599  return 0;
600  }
601  }
602  limit_connect.add_connect(peername);
603  }
604  ZAssocChild *my = new ZAssocChild(the_PDU_Observable,
607  peername);
608  return my;
609 }
mp::ThreadPoolSocketObserver * m_thread_pool_observer

References metaproxy_1::filter::FrontendNet::m_p.

◆ set_package()

void mp::filter::FrontendNet::ZAssocServer::set_package ( const mp::Package *  package)

Definition at line 547 of file filter_frontend_net.cpp.

548 {
549  m_package = package;
550 }

◆ set_thread_pool()

void mp::filter::FrontendNet::ZAssocServer::set_thread_pool ( mp::ThreadPoolSocketObserver observer)

Definition at line 552 of file filter_frontend_net.cpp.

554 {
555  m_thread_pool_observer = observer;
556 }

◆ timeoutNotify()

void mp::filter::FrontendNet::ZAssocServer::timeoutNotify ( )
private

Definition at line 623 of file filter_frontend_net.cpp.

624 {
625 }

Member Data Documentation

◆ limit_connect

yazpp_1::LimitConnect metaproxy_1::filter::FrontendNet::ZAssocServer::limit_connect
private

Definition at line 184 of file filter_frontend_net.cpp.

◆ limit_http_req

yazpp_1::LimitConnect metaproxy_1::filter::FrontendNet::ZAssocServer::limit_http_req
private

Definition at line 185 of file filter_frontend_net.cpp.

◆ m_p

Rep* metaproxy_1::filter::FrontendNet::ZAssocServer::m_p
private

Definition at line 187 of file filter_frontend_net.cpp.

◆ m_package

const mp::Package* metaproxy_1::filter::FrontendNet::ZAssocServer::m_package
private

Definition at line 183 of file filter_frontend_net.cpp.

Referenced by ZAssocServer().

◆ m_port

Port* metaproxy_1::filter::FrontendNet::ZAssocServer::m_port
private

Definition at line 186 of file filter_frontend_net.cpp.

◆ m_thread_pool_observer

mp::ThreadPoolSocketObserver* metaproxy_1::filter::FrontendNet::ZAssocServer::m_thread_pool_observer
private

Definition at line 182 of file filter_frontend_net.cpp.


The documentation for this class was generated from the following file: