Changed the SRU update structures and codecs to reflect the SRU pre 1.0
[yaz-moved-to-github.git] / ztest / ztest.c
index 51ead41..77a600d 100644 (file)
@@ -2,7 +2,7 @@
  * Copyright (C) 1995-2005, Index Data ApS
  * See the file LICENSE for details.
  *
- * $Id: ztest.c,v 1.81 2006-05-06 00:52:15 quinn Exp $
+ * $Id: ztest.c,v 1.83 2006-12-06 21:35:59 adam Exp $
  */
 
 /*
@@ -54,7 +54,17 @@ int ztest_search(void *handle, bend_search_rr *rr)
     else if(!yaz_matchstr (rr->basenames[0], "Slow"))
     {
 #if HAVE_UNISTD_H
-        sleep(3);
+        /* wait up to 3 seconds and check if connection is still alive */
+        int i;
+        for (i = 0; i<3; i++)
+        {
+            if (!bend_assoc_is_alive(rr->association))
+            {
+                yaz_log(YLOG_LOG, "search aborted");
+                break;
+            }
+            sleep(1);
+        }
 #endif
         ;
     }
@@ -663,6 +673,12 @@ int ztest_explain(void *handle, bend_explain_rr *rr)
     return 0;
 }
 
+int ztest_update(void *handle, bend_update_rr *rr)
+{
+    rr->operation_status = "success";
+    return 0;
+}
+
 bend_initresult *bend_init(bend_initrequest *q)
 {
     bend_initresult *r = (bend_initresult *)
@@ -690,6 +706,7 @@ bend_initresult *bend_init(bend_initrequest *q)
     q->bend_explain = ztest_explain;
 #endif
     q->bend_srw_scan = ztest_scan;
+    q->bend_srw_update = ztest_update;
 
     return r;
 }