-using namespace yp2;
-
-class P2_Session : public yazpp_1::Z_Assoc {
-public:
- ~P2_Session();
- P2_Session(yazpp_1::IPDU_Observable *the_PDU_Observable,
- ThreadPoolSocketObserver *m_my_thread,
- const Package *package);
- int m_no_requests;
-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();
+namespace mp = metaproxy_1;
+
+namespace metaproxy_1 {
+ class My_Timer_Thread;
+ class ZAssocServer;
+ namespace filter {
+ class FrontendNet::Port {
+ friend class Rep;
+ friend class FrontendNet;
+ std::string port;
+ std::string route;
+ };
+ class FrontendNet::Rep {
+ friend class FrontendNet;
+ int m_no_threads;
+ std::vector<Port> m_ports;
+ int m_listen_duration;
+ int m_session_timeout;
+ int m_connect_max;
+ yazpp_1::SocketManager mySocketManager;
+ ZAssocServer **az;
+ };
+ }
+ 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);
+ 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;
+ };
+ class ThreadPoolPackage : public mp::IThreadPoolMsg {
+ public:
+ ThreadPoolPackage(mp::Package *package, mp::ZAssocChild *ses) :
+ m_assoc_child(ses), m_package(package) { };
+ ~ThreadPoolPackage();
+ IThreadPoolMsg *handle();
+ void result();
+
+ private:
+ mp::ZAssocChild *m_assoc_child;
+ mp::Package *m_package;
+
+ };
+ class ZAssocServer : public yazpp_1::Z_Assoc {
+ public:
+ ~ZAssocServer();
+ ZAssocServer(yazpp_1::IPDU_Observable *PDU_Observable, int timeout,
+ int connect_max, std::string route);
+ 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();