From 260ad0e1bd0931956cf8c689e81fffc59d12e2aa Mon Sep 17 00:00:00 2001 From: Kyren223 Date: Tue, 15 Oct 2024 21:59:08 +0300 Subject: feat: communication using custom packet protocol --- internal/server/server.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'internal/server/server.go') 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) +} -- cgit v1.3.1