diff options
Diffstat (limited to 'cmd/mock/main.go')
| -rw-r--r-- | cmd/mock/main.go | 48 |
1 files changed, 6 insertions, 42 deletions
diff --git a/cmd/mock/main.go b/cmd/mock/main.go index 88888f5..ad503c5 100644 --- a/cmd/mock/main.go +++ b/cmd/mock/main.go @@ -1,34 +1,15 @@ package main import ( - "encoding/binary" "flag" "log" "net" + + "git.sr.ht/~rctt/solecd/core" ) var listenAddr string -type Encoder interface { - Encode() []any -} - -type Handshake struct { - ver uint8 -} - -func (h Handshake) Encode() []any { - return []any{h.ver} -} - -type Test struct { - msg string -} - -func (h Test) Encode() []any { - return []any{[]byte(h.msg)} -} - func main() { flag.StringVar(&listenAddr, "a", "localhost:9999", "Listening address:port") flag.Parse() @@ -57,33 +38,16 @@ func listen() error { func handle(conn net.Conn) { log.Print("received connection from: ", conn.RemoteAddr()) - hs := Handshake{ - ver: 0x0, - } + hs := core.Handshake{Version: 0x0} - if err := send(conn, 0x01, hs); err != nil { + if err := core.Send(conn, core.TypeHandshake, hs); err != nil { log.Print("cannot send handshake ", err) return } - if err := send(conn, 0xFF, Test{msg: "solec kujawski jest zajebisty"}); err != nil { + test := core.Test{Message: "solec kujawski jest zajebisty"} + if err := core.Send(conn, core.TypeTest, test); err != nil { log.Print("cannot send test message ", err) return } } - -func send(conn net.Conn, eType uint8, data Encoder) error { - err := binary.Write(conn, binary.BigEndian, eType) - if err != nil { - return err - } - - for _, v := range data.Encode() { - err := binary.Write(conn, binary.BigEndian, v) - if err != nil { - return err - } - } - - return nil -} |
