init with current status
[svn42.git] / go / r3-eventbroker_zmq / zeromq.go
index 81952c9..a3d6b02 100644 (file)
@@ -109,6 +109,26 @@ func ZmqsRequestAnswer(sock *zmq.Socket, request [][]byte) (answer [][]byte) {
     return parts
 }
 
+func ZmqsAskQuestionsAndClose(ctx *zmq.Context, addr string, questions [][][]byte) [][][]byte {
+    if len(addr) == 0 || ctx == nil { return nil }
+
+    req_sock, err := ctx.Socket(zmq.Req)
+    if err != nil {
+        return nil
+    }
+    defer req_sock.Close()
+
+    if err = req_sock.Connect(addr); err != nil {
+        return nil
+    }
+
+    rv := make([][][]byte, len(questions))
+    for index, q := range(questions) {
+        rv[index] = ZmqsRequestAnswer(req_sock, q)
+    }
+    return rv
+}
+
 func LookupCardIdNick(s *zmq.Socket, hexbytes []byte) (string, error) {
     answ := ZmqsRequestAnswer(s, [][]byte{hexbytes})
     if len(answ) == 0 {