Skip to content

Commit 1ba5360

Browse files
committed
refactor(backend, transport): polish handleTCPConn helpers
1 parent 4c46ff9 commit 1ba5360

1 file changed

Lines changed: 21 additions & 16 deletions

File tree

backend/pkg/transport/transport.go

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -158,20 +158,25 @@ func (transport *Transport) handleTCPConn(conn net.Conn) error {
158158

159159
// configureTCPConn sets TCP-level options like linger and no-delay.
160160
func (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.
228233
func (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

Comments
 (0)