X-Git-Url: http://git.indexdata.com/?p=yazpp-moved-to-github.git;a=blobdiff_plain;f=include%2Fyazpp%2Fpdu-assoc.h;fp=include%2Fyazpp%2Fpdu-assoc.h;h=eee460afd2863ff61034c5cae155fbd6358c141a;hp=ac86329571348a1b95a7f2c517e47de07a4b3ea0;hb=e1563004f70ed8be4549db0ba3a20de902f98d4c;hpb=8e10589d8533b373d6bb95d5dc74678b65a9740f diff --git a/include/yazpp/pdu-assoc.h b/include/yazpp/pdu-assoc.h index ac86329..eee460a 100644 --- a/include/yazpp/pdu-assoc.h +++ b/include/yazpp/pdu-assoc.h @@ -33,6 +33,8 @@ #include namespace yazpp_1 { + class PDU_Assoc_priv; + /** Simple Protocol Data Unit Assocation. This object sends - and receives PDU's using the COMSTACK network utility. To use the association in client role, use @@ -41,46 +43,18 @@ namespace yazpp_1 { */ class YAZ_EXPORT PDU_Assoc : public IPDU_Observable, yazpp_1::ISocketObserver { friend class PDU_AssocThread; - private: - enum { - Connecting, - Listen, - Ready, - Closed, - Writing, - Accepting - } m_state; - class PDU_Queue { - public: - PDU_Queue(const char *buf, int len); - ~PDU_Queue(); - char *m_buf; - int m_len; - PDU_Queue *m_next; - }; - PDU_Assoc *m_parent; - PDU_Assoc *m_children; - PDU_Assoc *m_next; - COMSTACK m_cs; - yazpp_1::ISocketObservable *m_socketObservable; + PDU_Assoc_priv *m_p; IPDU_Observer *m_PDU_Observer; - char *m_input_buf; - int m_input_len; - PDU_Queue *m_queue_out; - PDU_Queue *m_queue_in; + int flush_PDU(); - int *m_destroyed; - int m_idleTime; - int m_log; - void init(yazpp_1::ISocketObservable *socketObservable); - bool m_session_is_dead; - public: COMSTACK comstack(const char *type_and_host, void **vp); + public: /// Create object using specified socketObservable PDU_Assoc(yazpp_1::ISocketObservable *socketObservable); /// Create Object using existing comstack PDU_Assoc(yazpp_1::ISocketObservable *socketObservable, - COMSTACK cs); + COMSTACK cs); + virtual ~PDU_Assoc(); /// Close socket and destroy object. /// virtual ~PDU_Assoc(); /// Clone the object @@ -98,7 +72,7 @@ class YAZ_EXPORT PDU_Assoc : public IPDU_Observable, yazpp_1::ISocketObserver { /// Close and destroy void destroy(); /// Set Idle Time - void idleTime (int timeout); + void idleTime(int timeout); /// Child start... virtual void childNotify(COMSTACK cs); /// close session