@@ -10,8 +10,8 @@ import (
1010
1111// var logger = logging.GetLogger()
1212
13- var commDataSize uint32 = 128 * 1024
14- var commBufSize uint32 = 4 + commDataSize
13+ var commDataSize uint64 = 64 * 1024
14+ var commBufSize uint64 = 8 + 1024 + commDataSize
1515
1616var commBufPool = concurrent .NewPool (func () * []byte {
1717 buf := make ([]byte , commBufSize )
@@ -28,37 +28,37 @@ func SendPacket(dst io.Writer, p packet.IPacket) (int, error) {
2828 return 0 , err
2929 }
3030
31- bufPtr := commBufPool .Get ()
32- defer commBufPool .Put (bufPtr )
33- buf := * bufPtr
34-
35- length := uint32 (len (data ))
31+ length := uint64 (len (data ))
3632 if length > commBufSize {
3733 return 0 , io .ErrShortBuffer
3834 }
3935
40- buf = buf [:4 + length ]
41- binary .BigEndian .PutUint32 (buf [:4 ], length )
42- copy (buf [4 :], data )
43- return dst .Write (buf )
44- }
45-
46- func ReceivePacket (src io.Reader ) (packet.IPacket , error ) {
4736 bufPtr := commBufPool .Get ()
4837 defer commBufPool .Put (bufPtr )
4938 buf := * bufPtr
5039
51- buf = buf [:4 ]
52- _ , err := io .ReadFull (src , buf )
40+ buf = buf [:8 + length ]
41+ binary .BigEndian .PutUint64 (buf [:8 ], length )
42+ copy (buf [8 :], data )
43+ return dst .Write (buf )
44+ }
45+
46+ func ReceivePacket (src io.Reader ) (packet.IPacket , error ) {
47+ lenBuf := make ([]byte , 8 )
48+ _ , err := io .ReadFull (src , lenBuf )
5349 if err != nil {
5450 return nil , err
5551 }
5652
57- length := binary .BigEndian .Uint32 ( buf )
53+ length := binary .BigEndian .Uint64 ( lenBuf )
5854 if length > commBufSize {
5955 return nil , io .ErrShortBuffer
6056 }
6157
58+ bufPtr := commBufPool .Get ()
59+ defer commBufPool .Put (bufPtr )
60+ buf := * bufPtr
61+
6262 buf = buf [:length ]
6363 n , err := io .ReadFull (src , buf )
6464 if err != nil {
0 commit comments