From aa6726a6d0d73b8c5cf2184d92b326e8dbc4c70a Mon Sep 17 00:00:00 2001 From: v2ray Date: Mon, 27 Jun 2016 22:54:59 +0200 Subject: [PATCH] segment.releasable --- transport/internet/kcp/segment.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/transport/internet/kcp/segment.go b/transport/internet/kcp/segment.go index c30c5cf3..285aa727 100644 --- a/transport/internet/kcp/segment.go +++ b/transport/internet/kcp/segment.go @@ -1,6 +1,7 @@ package kcp import ( + "github.com/v2ray/v2ray-core/common" "github.com/v2ray/v2ray-core/common/alloc" "github.com/v2ray/v2ray-core/common/serial" ) @@ -20,6 +21,7 @@ const ( ) type ISegment interface { + common.Releasable ByteSize() int Bytes([]byte) []byte } @@ -54,6 +56,10 @@ func (this *DataSegment) ByteSize() int { return 2 + 1 + 1 + 4 + 4 + 4 + 4 + 2 + this.Data.Len() } +func (this *DataSegment) Release() { + this.Data.Release() +} + type ACKSegment struct { Conv uint16 Opt SegmentOption @@ -81,6 +87,8 @@ func (this *ACKSegment) Bytes(b []byte) []byte { return b } +func (this *ACKSegment) Release() {} + type TerminationSegment struct { Conv uint16 Opt SegmentOption @@ -96,6 +104,8 @@ func (this *TerminationSegment) Bytes(b []byte) []byte { return b } +func (this *TerminationSegment) Release() {} + func ReadSegment(buf []byte) (ISegment, []byte) { if len(buf) <= 12 { return nil, nil