summaryrefslogtreecommitdiffstats
path: root/cmd
diff options
context:
space:
mode:
authorbt <bt@rctt.net>2026-03-07 20:42:54 +0100
committerbt <bt@rctt.net>2026-03-07 20:42:54 +0100
commit3830a8ad69fd861558f4d8ee7ee67b05c244eb47 (patch)
treecd1f73674ba45744bed250fdd557a6247737eb27 /cmd
parent236457dfda1e8e79daf86e0d6512f3d186373a65 (diff)
downloadsolec-3830a8ad69fd861558f4d8ee7ee67b05c244eb47.tar.gz
solec-3830a8ad69fd861558f4d8ee7ee67b05c244eb47.zip
Create core package
Diffstat (limited to 'cmd')
-rw-r--r--cmd/client/main.go0
-rw-r--r--cmd/mock/main.go48
2 files changed, 6 insertions, 42 deletions
diff --git a/cmd/client/main.go b/cmd/client/main.go
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/cmd/client/main.go
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
-}