X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;ds=sidebyside;f=src%2Fyaz-server.cpp;h=28bc9659eaabe05803f3a9a51caf0ba8f1c306dc;hb=48290617d6b2c0b4b46163681ea63f1f3dfba790;hp=1d894a1441fafce45edb9d2e79cd2f7e071dddd5;hpb=35cfa3b3d2c9b8adb8c4bfd4c95620929e35466b;p=yazpp-moved-to-github.git diff --git a/src/yaz-server.cpp b/src/yaz-server.cpp index 1d894a1..28bc965 100644 --- a/src/yaz-server.cpp +++ b/src/yaz-server.cpp @@ -3,7 +3,13 @@ * See the file LICENSE for details. * * $Log: yaz-server.cpp,v $ - * Revision 1.9 2000-09-12 12:09:53 adam + * Revision 1.11 2000-09-12 16:23:49 adam + * Updated server example. + * + * Revision 1.10 2000/09/12 16:04:17 adam + * Added comstack method for Yaz_PDU_Assoc.. + * + * Revision 1.9 2000/09/12 12:09:53 adam * More work on high-level server. * * Revision 1.8 2000/09/08 10:23:42 adam @@ -64,20 +70,19 @@ private: int m_no; }; -static int stop = 0; - void MyServer::recv_Z_init (Z_InitRequest *initRequest, Z_InitResponse *initResponse) { logf (LOG_LOG, "MyServer::recv_Z_init"); } +static MyServer *myServer = 0; + void MyServer::recv_Z_search (Z_SearchRequest *searchRequest, Z_SearchResponse *searchResponse) { logf (LOG_LOG, "MyServer::recv_Z_search"); - delete this; - stop = 1; + myServer->close(); } void MyServer::recv_Z_present (Z_PresentRequest *presentRequest, @@ -132,12 +137,13 @@ int main(int argc, char **argv) { while (1) { - stop = 0; Yaz_SocketManager mySocketManager; Yaz_PDU_Assoc *my_PDU_Assoc = new Yaz_PDU_Assoc(&mySocketManager); - MyServer *z = new MyServer(my_PDU_Assoc); - + myServer = new MyServer(my_PDU_Assoc); + + MyServer *z = myServer; + if (argc <= 1) z->server("@:9999"); else @@ -145,10 +151,14 @@ int main(int argc, char **argv) for (int i = 1; i < argc; i++) z->server(argv[i]); } - while (!stop && mySocketManager.processEvent() > 0) - ; + COMSTACK cs = my_PDU_Assoc->comstack(); + if (cs) + printf ("fd=%d\n", cs_fileno(cs)); + while (mySocketManager.processEvent() > 0) + ; logf (LOG_LOG, "bailing out"); delete z; + break; } return 0; }