+ { // Connect failed immediately
+ // Since m_state is Closed we can distinguish this case from
+ // normal connect in socketNotify handler
+ yaz_log(m_log, "maskObserver 12");
+ m_socketObservable->maskObserver(this, YAZ_SOCKET_OBSERVE_WRITE|
+ YAZ_SOCKET_OBSERVE_EXCEPT);
+ }
+ return 0;
+}
+
+// Single-threaded... Only useful for non-blocking handlers
+void Yaz_PDU_Assoc::childNotify(COMSTACK cs)
+{
+ Yaz_PDU_Assoc *new_observable =
+ new Yaz_PDU_Assoc (m_socketObservable, cs);
+
+ new_observable->m_next = m_children;
+ m_children = new_observable;
+ new_observable->m_parent = this;
+
+ // Clone PDU Observer
+ new_observable->m_PDU_Observer = m_PDU_Observer->sessionNotify
+ (new_observable, cs_fileno(cs));
+}
+
+const char*Yaz_PDU_Assoc::getpeername()
+{
+ return cs_addrstr(m_cs);