Remove buffered reader from data channel.

master
Icedream 2019-07-11 14:49:07 +02:00
parent 7bde2357f3
commit 6f5b605ea7
Signed by: icedream
GPG Key ID: 1573F6D8EFE4D0CF
1 changed files with 6 additions and 9 deletions

View File

@ -1,7 +1,6 @@
package internal
import (
"bufio"
"bytes"
"encoding/json"
"errors"
@ -16,7 +15,6 @@ type DataChannel struct {
rawDataLock sync.RWMutex
rawDataWriter *io.PipeWriter
rawDataReaderBuffered *bufio.Reader
rawDataReader *io.PipeReader
rawDataRest uint64
@ -177,7 +175,6 @@ func (conn *DataChannel) ExpectRawData(expectedLength uint64) {
defer conn.rawDataLock.Unlock()
conn.rawDataReader, conn.rawDataWriter = io.Pipe()
conn.rawDataReaderBuffered = bufio.NewReaderSize(conn.rawDataReader, 16*1024*1024)
conn.rawDataRest = expectedLength
}
@ -199,12 +196,12 @@ func (conn *DataChannel) SendMessage(msg *Message) (err error) {
}
func (conn *DataChannel) Read(p []byte) (n int, err error) {
if conn.rawDataReaderBuffered == nil {
if conn.rawDataReader == nil {
err = errors.New("Unexpected raw data read")
return
}
n, err = conn.rawDataReaderBuffered.Read(p)
n, err = conn.rawDataReader.Read(p)
return
}