Refactor: Add StartServer and ServeClient functions, improve palette unpacking with new helpers, and simplify the proxy example

This commit is contained in:
adman
2025-12-15 21:44:09 +01:00
parent 3bd20a3764
commit 01bf2a575c
4 changed files with 147 additions and 125 deletions
+28
View File
@@ -0,0 +1,28 @@
package strom
import "net"
func ServeClient(cNet net.Conn, factory func(c *Conn) (h HandlerInst, err error)) (err error) {
c := Servee(cNet)
h, err := factory(c)
if err != nil {
return
}
err = c.Start(h)
return
}
func StartServer(listenAddr string, factory func(c *Conn) (h HandlerInst, err error)) (err error) {
l, err := net.Listen("tcp", listenAddr)
if err != nil {
return
}
var cNet net.Conn
for {
cNet, err = l.Accept()
if err != nil {
return
}
go ServeClient(cNet, factory)
}
}