Forráskód Böngészése

leverage pool functions

v2ray 9 éve
szülő
commit
6efff7654c
1 módosított fájl, 10 hozzáadás és 13 törlés
  1. 10 13
      transport/internet/kcp/segment.go

+ 10 - 13
transport/internet/kcp/segment.go

@@ -186,10 +186,9 @@ func ReadSegment(buf []byte) (Segment, []byte) {
 	buf = buf[2:]
 
 	if cmd == SegmentCommandData {
-		seg := &DataSegment{
-			Conv: conv,
-			Opt:  opt,
-		}
+		seg := NewDataSegment()
+		seg.Conv = conv
+		seg.Opt = opt
 		if len(buf) < 16 {
 			return nil, nil
 		}
@@ -215,10 +214,9 @@ func ReadSegment(buf []byte) (Segment, []byte) {
 	}
 
 	if cmd == SegmentCommandACK {
-		seg := &AckSegment{
-			Conv: conv,
-			Opt:  opt,
-		}
+		seg := NewAckSegment()
+		seg.Conv = conv
+		seg.Opt = opt
 		if len(buf) < 9 {
 			return nil, nil
 		}
@@ -247,11 +245,10 @@ func ReadSegment(buf []byte) (Segment, []byte) {
 		return seg, buf
 	}
 
-	seg := &CmdOnlySegment{
-		Conv: conv,
-		Cmd:  cmd,
-		Opt:  opt,
-	}
+	seg := NewCmdOnlySegment()
+	seg.Conv = conv
+	seg.Cmd = cmd
+	seg.Opt = opt
 
 	if len(buf) < 8 {
 		return nil, nil