/*
- * Copyright (c) 1998-2001, Index Data.
+ * Copyright (c) 1998-2003, Index Data.
* See the file LICENSE for details.
*
- * $Id: yaz-pdu-assoc.cpp,v 1.30 2003-10-01 13:13:51 adam Exp $
+ * $Id: yaz-pdu-assoc.cpp,v 1.35 2003-10-20 18:31:44 adam Exp $
*/
#include <assert.h>
return;
m_PDU_Observer->recv_PDU(m_input_buf, res);
- m_destroyed = 0;
if (destroyed) // it really was destroyed, return now.
return;
+ m_destroyed = 0;
} while (m_cs && cs_more (m_cs));
if (m_cs && m_state == Ready)
{
COMSTACK Yaz_PDU_Assoc::comstack(const char *type_and_host, void **vp)
{
- return cs_create_host(type_and_host, 0, vp);
+ return cs_create_host(type_and_host, 2, vp);
}
void Yaz_PDU_Assoc::listen(IYaz_PDU_Observer *observer,
m_socketObservable->timeoutObserver(this, m_idleTime);
}
-void Yaz_PDU_Assoc::connect(IYaz_PDU_Observer *observer,
+int Yaz_PDU_Assoc::connect(IYaz_PDU_Observer *observer,
const char *addr)
{
yaz_log (m_log, "Yaz_PDU_Assoc::connect %s", addr);
m_PDU_Observer = observer;
void *ap;
m_cs = comstack(addr, &ap);
+ if (!m_cs)
+ return -1;
int res = cs_connect (m_cs, ap);
yaz_log (m_log, "Yaz_PDU_Assoc::connect fd=%d res=%d", cs_fileno(m_cs),
res);
m_socketObservable->maskObserver(this, YAZ_SOCKET_OBSERVE_WRITE|
YAZ_SOCKET_OBSERVE_EXCEPT);
}
+ return 0;
}
// Single-threaded... Only useful for non-blocking handlers