summaryrefslogtreecommitdiff
path: root/internal/server/server.go
diff options
context:
space:
mode:
authorKyren223 <ulmliad223@gmail.com>2024-10-15 21:59:08 +0300
committerKyren223 <ulmliad223@gmail.com>2024-10-15 21:59:08 +0300
commit260ad0e1bd0931956cf8c689e81fffc59d12e2aa (patch)
tree9032037c99b4f9cc6dfe07c69dc34a7a25c597cb /internal/server/server.go
parentc5dba4360acff23a89f301235401ddfe19ab99a8 (diff)
feat: communication using custom packet protocol
Diffstat (limited to 'internal/server/server.go')
-rw-r--r--internal/server/server.go20
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)
+}