From 0231ff14bcdab5c80d7e2bfebf7fa36b22dc57e3 Mon Sep 17 00:00:00 2001 From: yangzhouhan Date: Tue, 28 Jul 2015 18:11:22 -0700 Subject: [PATCH] remove duplicate check --- server.go | 14 ++++---------- stream.go | 27 +++++++++++---------------- 2 files changed, 15 insertions(+), 26 deletions(-) diff --git a/server.go b/server.go index 49258de2..dcd73d8f 100644 --- a/server.go +++ b/server.go @@ -256,7 +256,6 @@ func (s *Server) processUnaryRPC(t transport.ServerTransport, stream *transport. traceInfo.firstLine.client = false traceInfo.tr.LazyLog(&traceInfo.firstLine, false) defer func() { - // The trace only log the first operation err and dosen't log the application error if err != nil && err != io.EOF { traceInfo.tr.LazyLog(&fmtStringer{"%v", []interface{}{err}}, true) traceInfo.tr.SetError() @@ -346,18 +345,14 @@ func (s *Server) processStreamingRPC(t transport.ServerTransport, stream *transp ss.traceInfo.tr.LazyLog(&ss.traceInfo.firstLine, false) defer func() { ss.mu.Lock() + if err != nil { + ss.traceInfo.tr.LazyLog(&fmtStringer{"%v", []interface{}{err}}, true) + ss.traceInfo.tr.SetError() + } ss.traceInfo.tr.Finish() ss.traceInfo.tr = nil ss.mu.Unlock() }() - defer func() { - if err != nil { - ss.mu.Lock() - ss.traceInfo.tr.LazyLog(&fmtStringer{"%v", []interface{}{err}}, true) - ss.traceInfo.tr.SetError() - ss.mu.Unlock() - } - }() } if appErr := sd.Handler(srv.server, ss); appErr != nil { if err, ok := appErr.(rpcError); ok { @@ -396,7 +391,6 @@ func (s *Server) handleStream(t transport.ServerTransport, stream *transport.Str } // Unary RPC or Streaming RPC? if md, ok := srv.md[method]; ok { - s.processUnaryRPC(t, stream, srv, md) return } diff --git a/stream.go b/stream.go index c9ab5ffb..89e3e361 100644 --- a/stream.go +++ b/stream.go @@ -311,14 +311,13 @@ func (ss *serverStream) SendMsg(m interface{}) (err error) { defer func() { if ss.tracing { ss.mu.Lock() - if ss.traceInfo.tr != nil { - if err == nil { - ss.traceInfo.tr.LazyLog(&payload{sent: true, msg: m}, true) - } else { - ss.traceInfo.tr.LazyLog(&fmtStringer{"%v", []interface{}{err}}, true) - ss.traceInfo.tr.SetError() - } + if err == nil { + ss.traceInfo.tr.LazyLog(&payload{sent: true, msg: m}, true) + } else { + ss.traceInfo.tr.LazyLog(&fmtStringer{"%v", []interface{}{err}}, true) + ss.traceInfo.tr.SetError() } + ss.mu.Unlock() } }() @@ -334,15 +333,11 @@ func (ss *serverStream) RecvMsg(m interface{}) (err error) { defer func() { if ss.tracing { ss.mu.Lock() - if ss.traceInfo.tr != nil { - if err == nil { - ss.traceInfo.tr.LazyLog(&payload{sent: false, msg: m}, true) - } else { - if err != io.EOF { - ss.traceInfo.tr.LazyLog(&fmtStringer{"%v", []interface{}{err}}, true) - ss.traceInfo.tr.SetError() - } - } + if err == nil { + ss.traceInfo.tr.LazyLog(&payload{sent: false, msg: m}, true) + } else if err != io.EOF { + ss.traceInfo.tr.LazyLog(&fmtStringer{"%v", []interface{}{err}}, true) + ss.traceInfo.tr.SetError() } ss.mu.Unlock() }