From 525b62c13ef17a7b31851720d09fcb241b490fe1 Mon Sep 17 00:00:00 2001 From: Michael Ackley Date: Fri, 17 May 2024 10:14:29 -0500 Subject: [PATCH 1/2] Adds log to readLoop --- acceptor.go | 2 +- connection.go | 3 ++- initiator.go | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/acceptor.go b/acceptor.go index da4cd9bb0..f5b9b281c 100644 --- a/acceptor.go +++ b/acceptor.go @@ -356,7 +356,7 @@ func (a *Acceptor) handleConnection(netConn net.Conn) { go func() { msgIn <- fixIn{msgBytes, parser.lastRead} - readLoop(parser, msgIn) + readLoop(parser, msgIn, a.globalLog) }() writeLoop(netConn, msgOut, a.globalLog) diff --git a/connection.go b/connection.go index c006560f4..99a4c465e 100644 --- a/connection.go +++ b/connection.go @@ -30,12 +30,13 @@ func writeLoop(connection io.Writer, messageOut chan []byte, log Log) { } } -func readLoop(parser *parser, msgIn chan fixIn) { +func readLoop(parser *parser, msgIn chan fixIn, log Log) { defer close(msgIn) for { msg, err := parser.ReadMessage() if err != nil { + log.OnEvent(err.Error()) return } msgIn <- fixIn{msg, parser.lastRead} diff --git a/initiator.go b/initiator.go index eeff30fc0..8f7a76200 100644 --- a/initiator.go +++ b/initiator.go @@ -198,7 +198,7 @@ func (i *Initiator) handleConnection(session *session, tlsConfig *tls.Config, di goto reconnect } - go readLoop(newParser(bufio.NewReader(netConn)), msgIn) + go readLoop(newParser(bufio.NewReader(netConn)), msgIn, session.log) disconnected = make(chan interface{}) go func() { writeLoop(netConn, msgOut, session.log) From 035d82eccae9091a139fad760c50c8b229665d5f Mon Sep 17 00:00:00 2001 From: Michael Ackley Date: Fri, 17 May 2024 10:30:57 -0500 Subject: [PATCH 2/2] Adds nullLog --- connection_internal_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connection_internal_test.go b/connection_internal_test.go index 1ee4d13e8..081b3c110 100644 --- a/connection_internal_test.go +++ b/connection_internal_test.go @@ -45,7 +45,7 @@ func TestReadLoop(t *testing.T) { stream := "hello8=FIX.4.09=5blah10=103garbage8=FIX.4.09=4foo10=103" parser := newParser(strings.NewReader(stream)) - go readLoop(parser, msgIn) + go readLoop(parser, msgIn, nullLog{}) var tests = []struct { expectedMsg string