Remove exhaustBuffer field and add rewind function

This commit is contained in:
M. Mert Yildiran 2022-05-12 13:23:50 +03:00
parent ce840940b3
commit 8c8eb20ad6
No known key found for this signature in database
GPG Key ID: D42ADB236521BF7A

View File

@ -22,7 +22,6 @@ type tcpReader struct {
isOutgoing bool isOutgoing bool
msgQueue chan api.TcpReaderDataMsg // Channel of captured reassembled tcp payload msgQueue chan api.TcpReaderDataMsg // Channel of captured reassembled tcp payload
buffer []byte buffer []byte
exhaustBuffer bool
data []byte data []byte
progress *api.ReadProgress progress *api.ReadProgress
captureTime time.Time captureTime time.Time
@ -58,7 +57,7 @@ func (reader *tcpReader) run(options *api.TrafficFilteringOptions, wg *sync.Wait
if err == nil || reader.isProtocolIdentified() { if err == nil || reader.isProtocolIdentified() {
break break
} }
reader.exhaustBuffer = true reader.rewind()
} }
} }
@ -83,12 +82,11 @@ func (reader *tcpReader) isProtocolIdentified() bool {
return reader.parent.protocol != nil return reader.parent.protocol != nil
} }
func (reader *tcpReader) Read(p []byte) (int, error) { func (reader *tcpReader) rewind() {
if reader.exhaustBuffer {
reader.data = reader.buffer reader.data = reader.buffer
reader.exhaustBuffer = false }
}
func (reader *tcpReader) Read(p []byte) (int, error) {
var msg api.TcpReaderDataMsg var msg api.TcpReaderDataMsg
ok := true ok := true