Copy to buffer only a message is received

This commit is contained in:
M. Mert Yildiran
2022-05-12 13:20:50 +03:00
parent 6eb29988b7
commit ce840940b3

View File

@@ -97,6 +97,9 @@ func (reader *tcpReader) Read(p []byte) (int, error) {
if msg != nil {
reader.data = msg.GetBytes()
reader.captureTime = msg.GetTimestamp()
if !reader.isProtocolIdentified() {
reader.buffer = append(reader.buffer, reader.data...)
}
}
if len(reader.data) > 0 {
@@ -108,9 +111,6 @@ func (reader *tcpReader) Read(p []byte) (int, error) {
}
l := copy(p, reader.data)
if !reader.isProtocolIdentified() {
reader.buffer = append(reader.buffer, reader.data...)
}
reader.data = reader.data[l:]
reader.progress.Feed(l)