starts up and shuts down what more do you want?

This commit is contained in:
херетик
2023-02-18 19:53:09 +00:00
parent 15904a3a83
commit b7a4a01a4e
2 changed files with 25 additions and 1 deletions

View File

@@ -5,8 +5,13 @@ import (
"github.com/spf13/viper"
"git-indra.lan/indra-labs/indra"
"git-indra.lan/indra-labs/indra/pkg/crypto/key/prv"
"git-indra.lan/indra-labs/indra/pkg/crypto/key/pub"
"git-indra.lan/indra-labs/indra/pkg/interrupt"
log2 "git-indra.lan/indra-labs/indra/pkg/proc/log"
"git-indra.lan/indra-labs/indra/pkg/relay"
"git-indra.lan/indra-labs/indra/pkg/transport"
"git-indra.lan/indra-labs/indra/pkg/util/slice"
)
var (
@@ -35,9 +40,27 @@ var relayCmd = &cobra.Command{
Long: `Runs a server that can be controlled with RPC and CLI interfaces.`,
Run: func(cmd *cobra.Command, args []string) {
log.I.Ln("-- ", log2.App, "("+viper.GetString("network")+") -",
log2.SetLogLevel(log2.Trace)
log.I.Ln("-- ", log2.App, "("+viper.GetString(""+
"network")+") -",
indra.SemVer, "- Network Freedom. --")
var e error
var idPrv *prv.Key
if idPrv, e = prv.GenerateKey(); check(e) {
return
}
idPub := pub.Derive(idPrv)
nTotal := 5
tpt := transport.NewSim(nTotal)
addr := slice.GenerateRandomAddrPortIPv4()
nod, _ := relay.NewNode(addr, idPub, idPrv, tpt, 50000, true)
eng, e = relay.NewEngine(tpt, idPrv, nod, nil, 5)
interrupt.AddHandler(func() { eng.Q() })
log.D.Ln("starting up server")
eng.Start()
eng.Wait()
log.I.Ln("fin")
return
},

View File

@@ -64,6 +64,7 @@ func NewEngine(tpt types.Transport, hdrPrv *prv.Key, no *Node,
// Start a single thread of the Engine.
func (eng *Engine) Start() {
log.D.Ln("starting engine")
for {
if eng.handler() {
break