+ init(socketObservable);
+ m_cs = cs;
+ unsigned mask = 0;
+ if (cs->io_pending & CS_WANT_WRITE)
+ mask |= YAZ_SOCKET_OBSERVE_WRITE;
+ if (cs->io_pending & CS_WANT_READ)
+ mask |= YAZ_SOCKET_OBSERVE_READ;
+ m_socketObservable->addObserver(cs_fileno(cs), this);
+ if (!mask)
+ {
+ yaz_log (m_log, "new PDU_Assoc. Ready");
+ m_state = Ready;
+ flush_PDU();
+ }
+ else
+ {
+ yaz_log (m_log, "new PDU_Assoc. Accepting");
+ // assume comstack is accepting...
+ m_state = Accepting;
+ m_socketObservable->addObserver(cs_fileno(cs), this);
+ yaz_log(m_log, "maskObserver 1");
+ m_socketObservable->maskObserver(this,
+ mask |YAZ_SOCKET_OBSERVE_EXCEPT);
+ }
+}
+
+
+IYaz_PDU_Observable *Yaz_PDU_Assoc::clone()
+{
+ Yaz_PDU_Assoc *copy = new Yaz_PDU_Assoc(m_socketObservable);
+ return copy;