diff options
| author | Kyren223 <ulmliad223@gmail.com> | 2024-10-20 20:12:12 +0300 |
|---|---|---|
| committer | Kyren223 <ulmliad223@gmail.com> | 2024-10-20 20:12:12 +0300 |
| commit | 6f83f199f8311bf7782da59bc2e07df38073e65a (patch) | |
| tree | 8cfbe0a551bea927cf1c7f23bf5753f8ddf0ce46 /internal/packet/encoders.go | |
| parent | 1997bc8a150b92783060cc7129e1ee72a761182b (diff) | |
refactor: finished refactoring server-side code
Diffstat (limited to 'internal/packet/encoders.go')
| -rw-r--r-- | internal/packet/encoders.go | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/internal/packet/encoders.go b/internal/packet/encoders.go index e70d0e8..f5841ce 100644 --- a/internal/packet/encoders.go +++ b/internal/packet/encoders.go @@ -1,10 +1,9 @@ package packet import ( - "bytes" "encoding/json" - "io" + "github.com/kyren223/eko/pkg/assert" "github.com/vmihailenco/msgpack/v5" ) @@ -13,7 +12,7 @@ type TypedMessage interface { } type defaultPacketEncoder struct { - io.Reader + data []byte encoding Encoding packetType PacketType } @@ -26,28 +25,28 @@ func (e defaultPacketEncoder) Type() PacketType { return e.packetType } -func NewJsonEncoder(message TypedMessage) (PacketEncoder, error) { +func (e defaultPacketEncoder) Payload() []byte { + return e.data +} + +func NewJsonEncoder(message TypedMessage) PacketEncoder { data, err := json.Marshal(message) - if err != nil { - return nil, err - } + assert.NoError(err, "encoding a message with JSON should never fail") return defaultPacketEncoder{ - Reader: bytes.NewReader(data), + data: data, encoding: EncodingJson, packetType: message.Type(), - }, nil + } } -func NewMsgPackEncoder(message TypedMessage) (PacketEncoder, error) { +func NewMsgPackEncoder(message TypedMessage) PacketEncoder { data, err := msgpack.Marshal(message) - if err != nil { - return nil, err - } + assert.NoError(err, "encoding a message with msg pack should never fail") return defaultPacketEncoder{ - Reader: bytes.NewReader(data), + data: data, encoding: EncodingMsgPack, packetType: message.Type(), - }, nil + } } |
