From 0deb1e71a0e71432519b7dc0998ebbf06f2225b0 Mon Sep 17 00:00:00 2001 From: bt Date: Sun, 8 Mar 2026 00:08:12 +0100 Subject: Core library --- cmd/client/main.go | 33 +++++++++++++++++++++++++++++++++ cmd/daemon/main.go | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ cmd/mock/main.go | 53 ----------------------------------------------------- 3 files changed, 86 insertions(+), 53 deletions(-) create mode 100644 cmd/daemon/main.go delete mode 100644 cmd/mock/main.go (limited to 'cmd') diff --git a/cmd/client/main.go b/cmd/client/main.go index e69de29..244e543 100644 --- a/cmd/client/main.go +++ b/cmd/client/main.go @@ -0,0 +1,33 @@ +package main + +import ( + "flag" + "log" + "net" + + "git.sr.ht/~rctt/solecd/core" +) + +var serverAddr string + +func main() { + flag.StringVar(&serverAddr, "a", "localhost:9999", "Server address:port") + flag.Parse() + + var d net.Dialer + + conn, err := d.Dial("tcp", serverAddr) + if err != nil { + log.Fatalf("cannot dial", err) + } + defer conn.Close() + + for { + d, err := core.Read(conn) + if err != nil { + log.Fatalf("cannot read data: %v", err) + } + + log.Print(d) + } +} diff --git a/cmd/daemon/main.go b/cmd/daemon/main.go new file mode 100644 index 0000000..ad503c5 --- /dev/null +++ b/cmd/daemon/main.go @@ -0,0 +1,53 @@ +package main + +import ( + "flag" + "log" + "net" + + "git.sr.ht/~rctt/solecd/core" +) + +var listenAddr string + +func main() { + flag.StringVar(&listenAddr, "a", "localhost:9999", "Listening address:port") + flag.Parse() + + log.Print("starting solec daemon mock") + log.Fatal(listen()) +} + +func listen() error { + ln, err := net.Listen("tcp", listenAddr) + if err != nil { + return err + } + + log.Print("server is listening on: ", listenAddr) + + for { + conn, err := ln.Accept() + if err != nil { + log.Print("cannot accept connection: ", err) + } + go handle(conn) + } +} + +func handle(conn net.Conn) { + log.Print("received connection from: ", conn.RemoteAddr()) + + hs := core.Handshake{Version: 0x0} + + if err := core.Send(conn, core.TypeHandshake, hs); err != nil { + log.Print("cannot send handshake ", err) + return + } + + 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 + } +} diff --git a/cmd/mock/main.go b/cmd/mock/main.go deleted file mode 100644 index ad503c5..0000000 --- a/cmd/mock/main.go +++ /dev/null @@ -1,53 +0,0 @@ -package main - -import ( - "flag" - "log" - "net" - - "git.sr.ht/~rctt/solecd/core" -) - -var listenAddr string - -func main() { - flag.StringVar(&listenAddr, "a", "localhost:9999", "Listening address:port") - flag.Parse() - - log.Print("starting solec daemon mock") - log.Fatal(listen()) -} - -func listen() error { - ln, err := net.Listen("tcp", listenAddr) - if err != nil { - return err - } - - log.Print("server is listening on: ", listenAddr) - - for { - conn, err := ln.Accept() - if err != nil { - log.Print("cannot accept connection: ", err) - } - go handle(conn) - } -} - -func handle(conn net.Conn) { - log.Print("received connection from: ", conn.RemoteAddr()) - - hs := core.Handshake{Version: 0x0} - - if err := core.Send(conn, core.TypeHandshake, hs); err != nil { - log.Print("cannot send handshake ", err) - return - } - - 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 - } -} -- cgit v1.2.3