28 lines
508 B
Go
28 lines
508 B
Go
package main
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
"log"
|
|
|
|
"github.com/nats-io/nats.go"
|
|
"github.com/rosti-cz/server_lobby/server"
|
|
)
|
|
|
|
// discoveryHandler accepts discovery message and
|
|
func discoveryHandler(m *nats.Msg) {
|
|
message := server.Discovery{}
|
|
err := json.Unmarshal(m.Data, &message)
|
|
if err != nil {
|
|
log.Println(fmt.Errorf("decoding message error: %v", err))
|
|
}
|
|
|
|
err = message.Validate()
|
|
if err != nil {
|
|
log.Println(fmt.Errorf("validation error: %v", err))
|
|
}
|
|
|
|
discoveryStorage.Add(message)
|
|
|
|
}
|