improve fetch performance

pull/215/head
v2ray 9 years ago
parent f7d54d57c4
commit 4c63e9e168
No known key found for this signature in database
GPG Key ID: 7251FFA14BB18169

@ -40,6 +40,12 @@ func (b *Buffer) Clear() *Buffer {
return b
}
func (b *Buffer) Reset() *Buffer {
b.offset = defaultOffset
b.Value = b.head
return b
}
// AppendBytes appends one or more bytes to the end of the buffer.
func (b *Buffer) AppendBytes(bytes ...byte) *Buffer {
b.Value = append(b.Value, bytes...)

@ -333,11 +333,12 @@ func (this *Connection) updateTask() {
func (this *Connection) FetchInputFrom(conn net.Conn) {
go func() {
payload := alloc.NewBuffer()
defer payload.Release()
for {
payload := alloc.NewBuffer()
payload.Reset()
nBytes, err := conn.Read(payload.Value)
if err != nil {
payload.Release()
return
}
payload.Slice(0, nBytes)
@ -346,7 +347,6 @@ func (this *Connection) FetchInputFrom(conn net.Conn) {
} else {
log.Info("KCP|Connection: Invalid response from ", conn.RemoteAddr())
}
payload.Release()
}
}()
}

Loading…
Cancel
Save