aboutsummaryrefslogtreecommitdiff
path: root/src/gnunet/service/client.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/gnunet/service/client.go')
-rw-r--r--src/gnunet/service/client.go13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/gnunet/service/client.go b/src/gnunet/service/client.go
index 5f7f8f0..7b5e29b 100644
--- a/src/gnunet/service/client.go
+++ b/src/gnunet/service/client.go
@@ -66,7 +66,8 @@ func RequestResponse(
66 caller string, 66 caller string,
67 callee string, 67 callee string,
68 path string, 68 path string,
69 req message.Message) (message.Message, error) { 69 req message.Message,
70 withResponse bool) (message.Message, error) {
70 // client-connect to the service 71 // client-connect to the service
71 logger.Printf(logger.DBG, "[%s] Connecting to %s service...\n", caller, callee) 72 logger.Printf(logger.DBG, "[%s] Connecting to %s service...\n", caller, callee)
72 cl, err := NewClient(ctx, path) 73 cl, err := NewClient(ctx, path)
@@ -78,11 +79,13 @@ func RequestResponse(
78 if err = cl.SendRequest(ctx, req); err != nil { 79 if err = cl.SendRequest(ctx, req); err != nil {
79 return nil, err 80 return nil, err
80 } 81 }
81 // wait for a single response, then close the connection
82 logger.Printf(logger.DBG, "[%s] Waiting for response from %s service\n", caller, callee)
83 var resp message.Message 82 var resp message.Message
84 if resp, err = cl.ReceiveResponse(ctx); err != nil { 83 if withResponse {
85 return nil, err 84 // wait for a single response, then close the connection
85 logger.Printf(logger.DBG, "[%s] Waiting for response from %s service\n", caller, callee)
86 if resp, err = cl.ReceiveResponse(ctx); err != nil {
87 return nil, err
88 }
86 } 89 }
87 logger.Printf(logger.DBG, "[%s] Closing connection to %s service\n", caller, callee) 90 logger.Printf(logger.DBG, "[%s] Closing connection to %s service\n", caller, callee)
88 cl.Close() 91 cl.Close()