- class My_Timer_Thread : public yazpp_1::ISocketObserver {
- private:
- yazpp_1::ISocketObservable *m_obs;
- Pipe m_pipe;
- bool m_timeout;
- public:
- My_Timer_Thread(yazpp_1::ISocketObservable *obs, int duration);
- void socketNotify(int event);
- bool timeout();
- };
- class ZAssocChild : public yazpp_1::Z_Assoc {
- public:
- ~ZAssocChild();
- ZAssocChild(yazpp_1::IPDU_Observable *the_PDU_Observable,
- mp::ThreadPoolSocketObserver *m_thread_pool_observer,
- const mp::Package *package,
- std::string route,
- const char *msg_config);
- int m_no_requests;
- std::string m_route;
- private:
- 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:
- mp::ThreadPoolSocketObserver *m_thread_pool_observer;
- mp::Session m_session;
- mp::Origin m_origin;
- bool m_delete_flag;
- const mp::Package *m_package;
- const char *m_msg_config;
- };
- class ThreadPoolPackage : public mp::IThreadPoolMsg {
- public:
- ThreadPoolPackage(mp::Package *package, mp::ZAssocChild *ses,
- const char *msg_config);
- ~ThreadPoolPackage();
- IThreadPoolMsg *handle();
- void result(const char *t_info);
- bool cleanup(void *info);
- private:
- yaz_timing_t timer;
- mp::ZAssocChild *m_assoc_child;
- mp::Package *m_package;
- const char *m_msg_config;
- };
- class ZAssocServer : public yazpp_1::Z_Assoc {
- public:
- ~ZAssocServer();
- ZAssocServer(yazpp_1::IPDU_Observable *PDU_Observable, int timeout,
- int connect_max, std::string route,
- const char *msg_config);
- void set_package(const mp::Package *package);
- void set_thread_pool(ThreadPoolSocketObserver *m_thread_pool_observer);
- private:
- 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:
- mp::ThreadPoolSocketObserver *m_thread_pool_observer;
- const mp::Package *m_package;
- int m_session_timeout;
- int m_connect_max;
- yazpp_1::LimitConnect limit_connect;
- std::string m_route;
- const char *m_msg_config;
- };