-
Notifications
You must be signed in to change notification settings - Fork 1
/
message_gen.go
85 lines (76 loc) · 2.18 KB
/
message_gen.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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
// Automatically generated by go generate; DO NOT EDIT.
package rtmp
import (
"go.uber.org/zap/zapcore"
)
type MessageTypeID uint8
const (
MessageTypeIDSetChunkSize MessageTypeID = 1
MessageTypeIDAbortMessage MessageTypeID = 2
MessageTypeIDAcknowledgement MessageTypeID = 3
MessageTypeIDUserControlMessages MessageTypeID = 4
MessageTypeIDWindowAcknowledgementSize MessageTypeID = 5
MessageTypeIDSetPeerBandwidth MessageTypeID = 6
MessageTypeIDAudio MessageTypeID = 8
MessageTypeIDVideo MessageTypeID = 9
MessageTypeIDDataAMF3 MessageTypeID = 15
MessageTypeIDSharedObjectAMF3 MessageTypeID = 16
MessageTypeIDCommandAMF3 MessageTypeID = 17
MessageTypeIDDataAMF0 MessageTypeID = 18
MessageTypeIDSharedObjectAMF0 MessageTypeID = 19
MessageTypeIDCommandAMF0 MessageTypeID = 20
MessageTypeIDAggregate MessageTypeID = 22
)
type Message interface {
zapcore.ObjectMarshaler
ChunkStreamID() uint32
TypeID() MessageTypeID
Timestamp() uint32
StreamID() uint32
Payload() []byte
}
type message struct {
chunkStreamID uint32
typeID MessageTypeID
timestamp uint32
streamID uint32
payload []byte
}
func NewMessage(
chunkStreamID uint32,
typeID MessageTypeID,
timestamp uint32,
streamID uint32,
payload []byte,
) Message {
return &message{
chunkStreamID: chunkStreamID,
typeID: typeID,
timestamp: timestamp,
streamID: streamID,
payload: payload,
}
}
func (m message) ChunkStreamID() uint32 {
return m.chunkStreamID
}
func (m message) TypeID() MessageTypeID {
return m.typeID
}
func (m message) Timestamp() uint32 {
return m.timestamp
}
func (m message) StreamID() uint32 {
return m.streamID
}
func (m message) Payload() []byte {
return m.payload
}
func (m message) MarshalLogObject(enc zapcore.ObjectEncoder) error {
enc.AddUint32("chunkStreamID", m.ChunkStreamID())
enc.AddString("typeID", m.TypeID().String())
enc.AddUint32("timestamp", m.Timestamp())
enc.AddUint32("streamID", m.StreamID())
enc.AddInt("payloadLength", len(m.Payload()))
return nil
}