@@ -158,20 +158,25 @@ func (transport *Transport) handleTCPConn(conn net.Conn) error {
158158
159159// configureTCPConn sets TCP-level options like linger and no-delay.
160160func (transport * Transport ) configureTCPConn (conn net.Conn ) {
161- if tcpConn , ok := conn .(* net.TCPConn ); ok {
162- transport .logger .Trace ().Str ("remoteAddress" , conn .RemoteAddr ().String ()).Msg ("setting connection linger" )
163- err := tcpConn .SetLinger (0 )
164- if err != nil {
165- transport .errChan <- err
166- transport .logger .Error ().Stack ().Err (err ).Str ("remoteAddress" , conn .RemoteAddr ().String ()).Msg ("set linger" )
167- }
161+ tcpConn , ok := conn .(* net.TCPConn )
162+ if ! ok {
163+ return
164+ }
168165
169- transport .logger .Trace ().Str ("remoteAddress" , conn .RemoteAddr ().String ()).Msg ("setting connection no delay" )
170- err = tcpConn .SetNoDelay (true )
171- if err != nil {
172- transport .errChan <- err
173- transport .logger .Error ().Stack ().Err (err ).Str ("remoteAddress" , conn .RemoteAddr ().String ()).Msg ("set no delay" )
174- }
166+ remote := conn .RemoteAddr ().String ()
167+
168+ transport .logger .Trace ().Str ("remoteAddress" , remote ).Msg ("setting connection linger" )
169+ err := tcpConn .SetLinger (0 )
170+ if err != nil {
171+ transport .errChan <- err
172+ transport .logger .Error ().Stack ().Err (err ).Str ("remoteAddress" , remote ).Msg ("set linger" )
173+ }
174+
175+ transport .logger .Trace ().Str ("remoteAddress" , remote ).Msg ("setting connection no delay" )
176+ err = tcpConn .SetNoDelay (true )
177+ if err != nil {
178+ transport .errChan <- err
179+ transport .logger .Error ().Stack ().Err (err ).Str ("remoteAddress" , remote ).Msg ("set no delay" )
175180 }
176181}
177182
@@ -226,6 +231,9 @@ func (transport *Transport) addConnection(target abstraction.TransportTarget, co
226231
227232// tcpReceiveLoop reads packets from conn and forwards notifications until an error occurs.
228233func (transport * Transport ) tcpReceiveLoop (conn net.Conn , logger zerolog.Logger ) {
234+ from := conn .RemoteAddr ().String ()
235+ to := conn .LocalAddr ().String ()
236+
229237 go func () {
230238 for {
231239 packet , err := transport .decoder .DecodeNext (conn )
@@ -244,9 +252,6 @@ func (transport *Transport) tcpReceiveLoop(conn net.Conn, logger zerolog.Logger)
244252 }
245253 }
246254
247- from := conn .RemoteAddr ().String ()
248- to := conn .LocalAddr ().String ()
249-
250255 logger .Trace ().Type ("type" , packet ).Msg ("packet" )
251256 transport .api .Notification (NewPacketNotification (packet , from , to , time .Now ()))
252257 }
0 commit comments