From 8c8eb20ad6ea7324c2fa518fc836fa0ab31f4b6d Mon Sep 17 00:00:00 2001 From: "M. Mert Yildiran" Date: Thu, 12 May 2022 13:23:50 +0300 Subject: [PATCH] Remove `exhaustBuffer` field and add `rewind` function --- tap/tcp_reader.go | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/tap/tcp_reader.go b/tap/tcp_reader.go index 71df99fce..2b5627e21 100644 --- a/tap/tcp_reader.go +++ b/tap/tcp_reader.go @@ -22,7 +22,6 @@ type tcpReader struct { isOutgoing bool msgQueue chan api.TcpReaderDataMsg // Channel of captured reassembled tcp payload buffer []byte - exhaustBuffer bool data []byte progress *api.ReadProgress captureTime time.Time @@ -58,7 +57,7 @@ func (reader *tcpReader) run(options *api.TrafficFilteringOptions, wg *sync.Wait if err == nil || reader.isProtocolIdentified() { break } - reader.exhaustBuffer = true + reader.rewind() } } @@ -83,12 +82,11 @@ func (reader *tcpReader) isProtocolIdentified() bool { return reader.parent.protocol != nil } -func (reader *tcpReader) Read(p []byte) (int, error) { - if reader.exhaustBuffer { - reader.data = reader.buffer - reader.exhaustBuffer = false - } +func (reader *tcpReader) rewind() { + reader.data = reader.buffer +} +func (reader *tcpReader) Read(p []byte) (int, error) { var msg api.TcpReaderDataMsg ok := true