summaryrefslogtreecommitdiffstats
path: root/core/data.go
diff options
context:
space:
mode:
Diffstat (limited to 'core/data.go')
-rw-r--r--core/data.go30
1 files changed, 30 insertions, 0 deletions
diff --git a/core/data.go b/core/data.go
new file mode 100644
index 0000000..a617f17
--- /dev/null
+++ b/core/data.go
@@ -0,0 +1,30 @@
+package core
+
+type Marshaler interface {
+ Marshal() []any
+}
+
+type DataType uint8
+
+const (
+ TypeHandshake DataType = 0x01
+ TypePing = 0x02
+ TypePong = 0x03
+ TypeTest = 0xFF
+)
+
+type Handshake struct {
+ Version uint8
+}
+
+func (h Handshake) Marshal() []any {
+ return []any{h.Version}
+}
+
+type Test struct {
+ Message string
+}
+
+func (h Test) Marshal() []any {
+ return []any{[]byte(h.Message)}
+}