Compare commits

..

No commits in common. "8493c7cb4052b556129276236a95d16a2b5b0e12" and "58495d59c16b8781eb4652857110b3c75e4a7683" have entirely different histories.

3 changed files with 13 additions and 45 deletions

View File

@ -52,9 +52,9 @@ Support for NATS is only less than 150 lines.
The quickest way how to run lobby on your server is this: The quickest way how to run lobby on your server is this:
```shell ```shell
wget -O /usr/local/bin/lobbyd https://github.com/by-cx/lobby/releases/download/v1.1/lobbyd-1.1-linux-amd64 wget -O /usr/local/bin/lobbyd https://github.com/by-cx/lobby/releases/download/v1.0/lobbyd-1.0-linux-amd64
chmod +x /usr/local/bin/lobbyd chmod +x /usr/local/bin/lobbyd
wget -O /usr/local/bin/lobbyctl https://github.com/by-cx/lobby/releases/download/v1.1/lobbyctl-1.1-linux-amd64 wget -O /usr/local/bin/lobbyctl https://github.com/by-cx/lobby/releases/download/v1.0/lobbyctl-1.0-linux-amd64
chmod +x /usr/local/bin/lobbyctl chmod +x /usr/local/bin/lobbyctl
# Update NATS_URL and LABELS here # Update NATS_URL and LABELS here

View File

@ -63,9 +63,6 @@ func addLabelsHandler(c echo.Context) error {
return c.String(http.StatusBadRequest, err.Error()) return c.String(http.StatusBadRequest, err.Error())
} }
// Update the other nodes with this new change
sendDiscoveryPacket()
return c.String(http.StatusOK, "OK") return c.String(http.StatusOK, "OK")
} }
@ -87,8 +84,5 @@ func deleteLabelsHandler(c echo.Context) error {
return c.String(http.StatusBadRequest, err.Error()) return c.String(http.StatusBadRequest, err.Error())
} }
// Update the other nodes with this new change
sendDiscoveryPacket()
return c.String(http.StatusOK, "OK") return c.String(http.StatusOK, "OK")
} }

View File

@ -24,7 +24,6 @@ var localHost server.LocalHost
var config Config var config Config
var shuttingDown bool var shuttingDown bool
var sendDiscoveryPacketTrigger chan bool = make(chan bool)
func init() { func init() {
// Load config from environment variables // Load config from environment variables
@ -89,30 +88,19 @@ func sendGoodbyePacket() {
} }
} }
// sendDiscoveryPacket sends a single discovery packet out // sendDisoveryPacket sends discovery packet regularly so the network know we exist
func sendDiscoveryPacket() { func sendDiscoveryPacket() {
sendDiscoveryPacketTrigger <- true
}
// sendDisoveryPacket sends discovery packet to the driver which passes it to the
// other nodes. By this it propagates any change that happens in the local discovery struct.
// Every tune trigger is triggered it sends one message.
func sendDiscoveryPacketTask(trigger chan bool) {
for { for {
// We are waiting for the trigger
<-trigger
if !shuttingDown {
discovery, err := localHost.GetIdentification() discovery, err := localHost.GetIdentification()
if err != nil { if err != nil {
log.Println("sending discovery identification error: %v", err) log.Printf("sending discovery identification error: %v\n", err)
} }
err = driver.SendDiscoveryPacket(discovery) err = driver.SendDiscoveryPacket(discovery)
if err != nil { if err != nil {
log.Println(err.Error()) log.Println(err)
}
} }
time.Sleep(time.Duration(config.KeepAlive) * time.Second)
if shuttingDown { if shuttingDown {
break break
@ -157,21 +145,7 @@ func main() {
// If config.Register is false this instance won't be registered with other nodes // If config.Register is false this instance won't be registered with other nodes
if config.Register { if config.Register {
// This is background process that sends the message go sendDiscoveryPacket()
go sendDiscoveryPacketTask(sendDiscoveryPacketTrigger)
// This triggers the process
go func() {
for {
sendDiscoveryPacket()
time.Sleep(time.Duration(config.KeepAlive) * time.Second)
if shuttingDown {
break
}
}
}()
} else { } else {
log.Println("standalone mode, I won't register myself") log.Println("standalone mode, I won't register myself")
} }