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
started access logging of Z39.50 packages, partially done init, search
[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
e78a76b
..
0f0b92f
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.25 2006-03-29 13:44:45 adam Exp $
+/* $Id: filter_z3950_client.cpp,v 1.27 2006-06-21 14:34:16 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"
@@
-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)
{
@@
-285,7
+287,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
+373,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
{