From 5238806cff94ea6764b8d68de0ff225bbb959d70 Mon Sep 17 00:00:00 2001 From: Aaron Jacobs Date: Tue, 28 Jul 2015 16:14:58 +1000 Subject: [PATCH] Connection.Reply --- connection.go | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/connection.go b/connection.go index cd07ae0..d35184b 100644 --- a/connection.go +++ b/connection.go @@ -449,17 +449,15 @@ func (c *Connection) Reply(ctx context.Context, opErr error) { c.errorLogger.Printf("%T error: %v", op, opErr) } - // Send the reply to the kernel. - replyMsg := kernelResponse(m.Header().Unique, op, opErr, c.protocol) - if replyMsg != nil { - if err := c.writeMessage(replyMsg); err != nil { - if c.errorLogger != nil { - c.errorLogger.Printf("writeMessage: %v", err) - } + // Send the reply to the kernel, if one is required. + outMsg := c.kernelResponse(m.Header().Unique, op, opErr) + if outMsg != nil { + err := c.writeMessage(outMsg.Bytes()) + c.putOutMessage(outMsg) - return + if err != nil && c.errorLogger != nil { + c.errorLogger.Printf("writeMessage: %v", err) } - } }