projects
/
metaproxy-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
MP version in bookinfo
[metaproxy-moved-to-github.git]
/
src
/
filter_z3950_client.cpp
diff --git
a/src/filter_z3950_client.cpp
b/src/filter_z3950_client.cpp
index
0c775e7
..
2d9e6a6
100644
(file)
--- a/
src/filter_z3950_client.cpp
+++ b/
src/filter_z3950_client.cpp
@@
-1,7
+1,7
@@
-/* $Id: filter_z3950_client.cpp,v 1.24 2006-03-16 10:40:59 adam Exp $
+/* $Id: filter_z3950_client.cpp,v 1.28 2006-08-30 12:27:34 adam Exp $
Copyright (c) 2005-2006, Index Data.
Copyright (c) 2005-2006, Index Data.
-%LICENSE%
+ See the LICENSE file for details
*/
#include "config.hpp"
*/
#include "config.hpp"
@@
-24,9
+24,9
@@
#include <yaz/otherinfo.h>
#include <yaz/diagbib1.h>
#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;
namespace mp = metaproxy_1;
namespace yf = mp::filter;
@@
-62,6
+62,7
@@
namespace metaproxy_1 {
class Z3950Client::Rep {
public:
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;
int m_timeout_sec;
boost::mutex m_mutex;
boost::condition m_cond_session_ready;
@@
-192,6
+193,7
@@
yf::Z3950Client::Assoc *yf::Z3950Client::Rep::get_assoc(Package &package)
while(true)
{
#if 0
while(true)
{
#if 0
+ // double init .. NOT working yet
if (gdu && gdu->which == Z_GDU_Z3950 &&
gdu->u.z3950->which == Z_APDU_initRequest)
{
if (gdu && gdu->which == Z_GDU_Z3950 &&
gdu->u.z3950->which == Z_APDU_initRequest)
{
@@
-225,8
+227,7
@@
yf::Z3950Client::Assoc *yf::Z3950Client::Rep::get_assoc(Package &package)
return 0;
}
std::list<std::string> vhosts;
return 0;
}
std::list<std::string> vhosts;
- mp::util::get_vhost_otherinfo(&apdu->u.initRequest->otherInfo,
- true, vhosts);
+ mp::util::remove_vhost_otherinfo(&apdu->u.initRequest->otherInfo, vhosts);
size_t no_vhosts = vhosts.size();
if (no_vhosts == 0)
{
size_t no_vhosts = vhosts.size();
if (no_vhosts == 0)
{
@@
-285,7
+286,7
@@
void yf::Z3950Client::Rep::send_and_receive(Package &package,
if (!c->m_connected)
{
c->client(c->m_host.c_str());
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)
while (!c->m_destroyed && c->m_waiting
&& c->m_socket_manager->processEvent() > 0)
@@
-371,12
+372,7
@@
void yf::Z3950Client::configure(const xmlNode *ptr)
continue;
if (!strcmp((const char *) ptr->name, "timeout"))
{
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
{
}
else
{