Modified for new location of YAZ header files. Experimental threaded
[yazpp-moved-to-github.git] / src / yaz-server.cpp
index 932910c..0cbf801 100644 (file)
@@ -4,7 +4,18 @@
  * Sebastian Hammer, Adam Dickmeiss
  * 
  * $Log: yaz-server.cpp,v $
- * Revision 1.4  1999-03-23 14:17:57  adam
+ * 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
  * More work on timeout handling. Work on yaz-client.
  *
  * Revision 1.3  1999/02/02 14:01:22  adam
  *
  */
 
-#include <log.h>
-#include <yaz-ir-assoc.h>
+#include <yaz/log.h>
+#include <yaz-z-assoc.h>
 #include <yaz-pdu-assoc.h>
 #include <yaz-socket-manager.h>
 
-class MyServer : public Yaz_IR_Assoc {
+class MyServer : public Yaz_Z_Assoc {
 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;
 };
@@ -56,20 +68,23 @@ void MyServer::recv_Z_PDU(Z_APDU *apdu)
         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_IR_Assoc (the_PDU_Observable)
+    Yaz_Z_Assoc (the_PDU_Observable)
 {
     m_no = 0;
 }
@@ -86,14 +101,17 @@ void MyServer::failNotify()
     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