diff options
| author | Kyren223 <ulmliad223@gmail.com> | 2024-10-15 21:59:08 +0300 |
|---|---|---|
| committer | Kyren223 <ulmliad223@gmail.com> | 2024-10-15 21:59:08 +0300 |
| commit | 260ad0e1bd0931956cf8c689e81fffc59d12e2aa (patch) | |
| tree | 9032037c99b4f9cc6dfe07c69dc34a7a25c597cb /internal/server/server.go | |
| parent | c5dba4360acff23a89f301235401ddfe19ab99a8 (diff) | |
feat: communication using custom packet protocol
Diffstat (limited to 'internal/server/server.go')
| -rw-r--r-- | internal/server/server.go | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/internal/server/server.go b/internal/server/server.go index 48b31f4..89434d3 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -11,6 +11,9 @@ import ( "strconv" "sync" "syscall" + + "github.com/kyren223/eko/internal/packet" + "github.com/kyren223/eko/pkg/assert" ) const port = 7223 @@ -31,6 +34,8 @@ func Start() { Certificates: []tls.Certificate{cert}, } + prepareConstPackets() + listener, err := tls.Listen("tcp4", ":"+strconv.Itoa(port), tlsConfig) if err != nil { log.Fatalf("error starting server: %s", err) @@ -67,3 +72,18 @@ func listen(listener net.Listener, wg *sync.WaitGroup) { } log.Printf("stopped listening on port %v...\n", port) } + +var unsupportedEncodingErrorPacket packet.Packet +var unsupportedTypeErrorPacket packet.Packet + +func prepareConstPackets() { + message := packet.ErrorMessage{Error: packet.PacketUnsupportedEncoding.Error()} + encoder, err := packet.NewMsgPackEncoder(&message) + assert.NoError(err, "constant packets should not error") + unsupportedEncodingErrorPacket = packet.NewPacket(encoder) + + message = packet.ErrorMessage{Error: packet.PacketUnsupportedType.Error()} + encoder, err = packet.NewMsgPackEncoder(&message) + assert.NoError(err, "constant packets should not error") + unsupportedTypeErrorPacket = packet.NewPacket(encoder) +} |
