/
exit.go
60 lines (48 loc) · 1.16 KB
/
exit.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
60
package smgp
import (
"github.com/hrygo/log"
"github.com/hrygo/gosms/codec"
)
type Exit MessageHeader
type ExitRsp MessageHeader
func NewExit(seq uint32) *Exit {
at := &Exit{PacketLength: codec.HeadLen, RequestId: SMGP_EXIT, SequenceId: seq}
return at
}
func (t *Exit) Encode() []byte {
return (*MessageHeader)(t).Encode()
}
func (t *Exit) Decode(seq uint32, _ []byte) error {
t.PacketLength = codec.HeadLen
t.RequestId = SMGP_EXIT
t.SequenceId = seq
return nil
}
func (t *Exit) ToResponse(_ uint32) codec.Pdu {
resp := ExitRsp{}
resp.PacketLength = t.PacketLength
resp.RequestId = SMGP_EXIT_RESP
resp.SequenceId = t.SequenceId
return &resp
}
func (t *Exit) Log() []log.Field {
return (*MessageHeader)(t).Log()
}
func (t *Exit) String() string {
return (*MessageHeader)(t).String()
}
func (r *ExitRsp) Encode() []byte {
return (*MessageHeader)(r).Encode()
}
func (r *ExitRsp) Decode(seq uint32, _ []byte) error {
r.PacketLength = codec.HeadLen
r.RequestId = SMGP_EXIT_RESP
r.SequenceId = seq
return nil
}
func (r *ExitRsp) Log() []log.Field {
return (*MessageHeader)(r).Log()
}
func (r *ExitRsp) String() string {
return (*MessageHeader)(r).String()
}