浏览代码

allocate in advance

Darien Raymond 9 年之前
父节点
当前提交
3ffef74d75
共有 1 个文件被更改,包括 6 次插入2 次删除
  1. 6 2
      transport/internet/kcp/segment.go

+ 6 - 2
transport/internet/kcp/segment.go

@@ -90,8 +90,12 @@ type AckSegment struct {
 	NumberList      []uint32
 }
 
+const ackNumberLimit = 128
+
 func NewAckSegment() *AckSegment {
-	return new(AckSegment)
+	return &AckSegment{
+		NumberList: make([]uint32, 0, ackNumberLimit),
+	}
 }
 
 func (v *AckSegment) Conversation() uint16 {
@@ -110,7 +114,7 @@ func (v *AckSegment) PutNumber(number uint32) {
 }
 
 func (v *AckSegment) IsFull() bool {
-	return v.Count == 128
+	return v.Count == ackNumberLimit
 }
 
 func (v *AckSegment) ByteSize() int {