/*
- * Copyright (c) 1998-1999, Index Data.
+ * Copyright (c) 1998-2000, Index Data.
* See the file LICENSE for details.
- * Sebastian Hammer, Adam Dickmeiss
*
* $Log: yaz-server.cpp,v $
- * Revision 1.5 1999-04-09 11:46:57 adam
+ * Revision 1.8 2000-09-08 10:23:42 adam
+ * Added skeleton of yaz-z-server.
+ *
+ * Revision 1.7 1999/12/06 13:52:45 adam
+ * Modified for new location of YAZ header files. Experimental threaded
+ * operation.
+ *
+ * Revision 1.6 1999/04/21 12:09:01 adam
+ * Many improvements. Modified to proxy server to work with "sessions"
+ * based on cookies.
+ *
+ * Revision 1.5 1999/04/09 11:46:57 adam
* Added object Yaz_Z_Assoc. Much more functional client.
*
* Revision 1.4 1999/03/23 14:17:57 adam
*
*/
-#include <log.h>
-#include <yaz-z-assoc.h>
+#include <yaz/log.h>
+#include <yaz-z-server.h>
#include <yaz-pdu-assoc.h>
#include <yaz-socket-manager.h>
-class MyServer : public Yaz_Z_Assoc {
+class MyServer : public Yaz_Z_Server {
public:
MyServer(IYaz_PDU_Observable *the_PDU_Observable);
void recv_Z_PDU(Z_APDU *apdu);
IYaz_PDU_Observer* clone(IYaz_PDU_Observable *the_PDU_Observable);
void failNotify();
void timeoutNotify();
+ void connectNotify();
private:
int m_no;
};
logf (LOG_LOG, "got presentRequest");
apdu = create_Z_PDU(Z_APDU_presentResponse);
send_Z_PDU(apdu);
- stop = 1;
+ // stop = 1;
break;
}
}
IYaz_PDU_Observer *MyServer::clone(IYaz_PDU_Observable *the_PDU_Observable)
{
+ MyServer *new_server;
logf (LOG_LOG, "child no %d", m_no);
m_no++;
- return new MyServer(the_PDU_Observable);
+ new_server = new MyServer(the_PDU_Observable);
+ new_server->timeout(60);
+ return new_server;
}
MyServer::MyServer(IYaz_PDU_Observable *the_PDU_Observable) :
- Yaz_Z_Assoc (the_PDU_Observable)
+ Yaz_Z_Server (the_PDU_Observable)
{
m_no = 0;
}
delete this;
}
+void MyServer::connectNotify()
+{
+}
+
int main(int argc, char **argv)
{
Yaz_SocketManager mySocketManager;
- Yaz_PDU_Assoc *my_PDU_Assoc = new Yaz_PDU_Assoc(&mySocketManager, 0);
+ Yaz_PDU_Assoc *my_PDU_Assoc = new Yaz_PDU_Assoc(&mySocketManager);
- my_PDU_Assoc->idleTime(20);
MyServer z(my_PDU_Assoc);
-
+
if (argc <= 1)
z.server("@:9999");
else