/
util.go
29 lines (26 loc) · 940 Bytes
/
util.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
package net
import (
"github.com/google/flatbuffers/go"
"github.com/20zinnm/spac/common/net/downstream"
"github.com/20zinnm/spac/common/net/upstream"
)
func MessageDown(builder *flatbuffers.Builder, packetType byte, packet flatbuffers.UOffsetT) []byte {
downstream.MessageStart(builder)
downstream.MessageAddPacket(builder, packet)
downstream.MessageAddPacketType(builder, packetType)
m := downstream.MessageEnd(builder)
builder.Finish(m)
data := make([]byte, len(builder.FinishedBytes()))
copy(data, builder.FinishedBytes())
return data
}
func MessageUp(builder *flatbuffers.Builder, packetType byte, packet flatbuffers.UOffsetT) []byte {
upstream.MessageStart(builder)
upstream.MessageAddPacket(builder, packet)
upstream.MessageAddPacketType(builder, packetType)
m := upstream.MessageEnd(builder)
builder.Finish(m)
data := make([]byte, len(builder.FinishedBytes()))
copy(data, builder.FinishedBytes())
return data
}