-
Notifications
You must be signed in to change notification settings - Fork 0
/
framecodec.go
59 lines (51 loc) · 1.89 KB
/
framecodec.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
package framecodec
import (
"encoding/binary"
"net"
"github.com/panjf2000/gnet"
"github.com/smallnest/goframe"
)
func NewLengthFieldBasedFrameCodec(ec gnet.EncoderConfig, dc gnet.DecoderConfig) *gnet.LengthFieldBasedFrameCodec {
return gnet.NewLengthFieldBasedFrameCodec(ec, dc)
}
func NewLengthFieldBasedFrameCodecConn(ec goframe.EncoderConfig, dc goframe.DecoderConfig, conn net.Conn) goframe.FrameConn {
return goframe.NewLengthFieldBasedFrameConn(ec, dc, conn)
}
// NewDefaultLengthFieldBasedFrameEncoderConfig creates a new default goframe encoder config
func NewDefaultLengthFieldBasedFrameEncoderConfig() goframe.EncoderConfig {
return goframe.EncoderConfig{
ByteOrder: binary.BigEndian,
LengthFieldLength: 4,
LengthAdjustment: 0,
LengthIncludesLengthFieldLength: false,
}
}
// NewDefaultLengthFieldBasedFrameEncoderConfig creates a new default goframe decoder config
func NewDefaultLengthFieldBasedFrameDecoderConfig() goframe.DecoderConfig {
return goframe.DecoderConfig{
ByteOrder: binary.BigEndian,
LengthFieldOffset: 0,
LengthFieldLength: 4,
LengthAdjustment: 0,
InitialBytesToStrip: 4,
}
}
// NewGNETDefaultLengthFieldBasedFrameEncoderConfig creates a new default gnet encoder config
func NewGNETDefaultLengthFieldBasedFrameEncoderConfig() gnet.EncoderConfig {
return gnet.EncoderConfig{
ByteOrder: binary.BigEndian,
LengthFieldLength: 4,
LengthAdjustment: 0,
LengthIncludesLengthFieldLength: false,
}
}
// NewGNETDefaultLengthFieldBasedFrameDecoderConfig creates a new default gnet decoder config
func NewGNETDefaultLengthFieldBasedFrameDecoderConfig() gnet.DecoderConfig {
return gnet.DecoderConfig{
ByteOrder: binary.BigEndian,
LengthFieldOffset: 0,
LengthFieldLength: 4,
LengthAdjustment: 0,
InitialBytesToStrip: 4,
}
}