Initiliazation

This commit is contained in:
2025-12-22 16:23:48 +01:00
parent 7a8b6d451d
commit b29e6179f3
165 changed files with 28070 additions and 0 deletions

18
vv1/server/conn/agent.go Normal file
View File

@@ -0,0 +1,18 @@
package conn
import (
"angel_server/consts"
"angel_server/cryptmeow"
"log/slog"
"net"
)
func agent_impl(conn net.Conn, layer_id int) {
var publicKey, _ [32]byte = cryptmeow.Gen_keypair()
_, err := conn.Write(publicKey[:])
if err != nil {
consts.Logger.Error("failed to send public key", slog.String("error", err.Error()))
return
}
}

43
vv1/server/conn/conn.go Normal file
View File

@@ -0,0 +1,43 @@
package conn
import (
"angel_server/consts"
"angel_server/extra"
"fmt"
"log/slog"
"net"
"os"
"os/signal"
"syscall"
)
func Start_serv() {
consts.Logger.Info("Starting tcp listener...")
ln, err := net.Listen("tcp", fmt.Sprintf(":%d", extra.Port))
if err != nil {
consts.Logger.Error("Error occurred during server start:", slog.Any("error", err))
return
}
defer ln.Close()
stop := make(chan os.Signal, 1)
signal.Notify(stop, os.Interrupt, syscall.SIGTERM)
go func() {
<-stop
consts.Logger.Info("Shutting down server...")
ln.Close()
os.Exit(0)
}()
for {
conn, err := ln.Accept()
if err != nil {
consts.Logger.Error("Error accepting connection:", slog.Any("error", err))
continue
}
go handleConnection(conn)
}
}

View File

@@ -0,0 +1,7 @@
package conn
import "net"
func controller_impl(conn net.Conn) {
}

View File

@@ -0,0 +1,36 @@
package conn
import (
"angel_server/consts"
"angel_server/db"
"bytes"
"log/slog"
"net"
"strconv"
)
func handleConnection(conn net.Conn) {
defer conn.Close()
consts.Logger.Info("Received conn", slog.String("remote", conn.RemoteAddr().String()))
role := make([]byte, 8)
n, err := conn.Read(role)
if err != nil {
consts.Logger.Error("Failed to read role", slog.String("error", err.Error()))
return
}
layer_id := string(bytes.TrimSpace(role[:n]))
consts.Logger.Debug(layer_id)
int_meow, _ := strconv.Atoi(layer_id)
if (int_meow == 0) {
controller_impl(conn)
} else if (db.CheckLayer(consts.Db, int_meow)) {
agent_impl(conn, int_meow)
} else {
conn.Close()
}
consts.Logger.Info("Lost conn", slog.String("remote", conn.RemoteAddr().String()))
}