-/* $Id: filter_z3950_client.cpp,v 1.24 2006-03-16 10:40:59 adam Exp $
+/* $Id: filter_z3950_client.cpp,v 1.27 2006-06-21 14:34:16 adam Exp $
Copyright (c) 2005-2006, Index Data.
-%LICENSE%
+ See the LICENSE file for details
*/
#include "config.hpp"
#include <yaz/otherinfo.h>
#include <yaz/diagbib1.h>
-#include <yaz++/socket-manager.h>
-#include <yaz++/pdu-assoc.h>
-#include <yaz++/z-assoc.h>
+#include <yazpp/socket-manager.h>
+#include <yazpp/pdu-assoc.h>
+#include <yazpp/z-assoc.h>
namespace mp = metaproxy_1;
namespace yf = mp::filter;
class Z3950Client::Rep {
public:
+ // number of seconds to wait before we give up request
int m_timeout_sec;
boost::mutex m_mutex;
boost::condition m_cond_session_ready;
while(true)
{
#if 0
+ // double init .. NOT working yet
if (gdu && gdu->which == Z_GDU_Z3950 &&
gdu->u.z3950->which == Z_APDU_initRequest)
{
if (!c->m_connected)
{
c->client(c->m_host.c_str());
- c->timeout(1);
+ c->timeout(1); // so timeoutNotify gets called once per second
while (!c->m_destroyed && c->m_waiting
&& c->m_socket_manager->processEvent() > 0)
continue;
if (!strcmp((const char *) ptr->name, "timeout"))
{
- std::string timeout_str = mp::xml::get_text(ptr);
- int timeout_sec = atoi(timeout_str.c_str());
- if (timeout_sec < 2)
- throw mp::filter::FilterException("Bad timeout value "
- + timeout_str);
- m_p->m_timeout_sec = timeout_sec;
+ m_p->m_timeout_sec = mp::xml::get_int(ptr->children, 30);
}
else
{