mirror of
https://github.com/postmannen/ctrl.git
synced 2025-03-05 06:46:48 +00:00
moved socket listener to server
This commit is contained in:
parent
a6c49e24ca
commit
26b606d3cf
2 changed files with 17 additions and 13 deletions
|
@ -5,28 +5,16 @@ import (
|
|||
"encoding/json"
|
||||
"fmt"
|
||||
"log"
|
||||
"net"
|
||||
"os"
|
||||
)
|
||||
|
||||
// readSocket will read the .sock file specified.
|
||||
// It will take a channel of []byte as input, and it is in this
|
||||
// channel the content of a file that has changed is returned.
|
||||
func (s *server) readSocket(toRingbufferCh chan []subjectAndMessage) {
|
||||
err := os.Remove("steward.sock")
|
||||
if err != nil {
|
||||
log.Printf("error: could not delete sock file: %v\n", err)
|
||||
}
|
||||
|
||||
l, err := net.Listen("unix", "steward.sock")
|
||||
if err != nil {
|
||||
log.Printf("error: failed to open socket: %v\n", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
// Loop, and wait for new connections.
|
||||
for {
|
||||
conn, err := l.Accept()
|
||||
conn, err := s.netListener.Accept()
|
||||
if err != nil {
|
||||
er := fmt.Errorf("error: failed to accept conn on socket: %v", err)
|
||||
sendErrorLogMessage(toRingbufferCh, node(s.nodeName), er)
|
||||
|
|
16
server.go
16
server.go
|
@ -4,6 +4,7 @@ package steward
|
|||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"net"
|
||||
"os"
|
||||
"sync"
|
||||
"time"
|
||||
|
@ -46,6 +47,8 @@ type server struct {
|
|||
configuration *Configuration
|
||||
// The nats connection to the broker
|
||||
natsConn *nats.Conn
|
||||
// net listener for communicating via the socket
|
||||
netListener net.Listener
|
||||
// processes holds all the information about running processes
|
||||
processes *processes
|
||||
// The name of the node
|
||||
|
@ -66,10 +69,23 @@ func NewServer(c *Configuration) (*server, error) {
|
|||
log.Printf("error: nats.Connect failed: %v\n", err)
|
||||
}
|
||||
|
||||
// Prepare the connection to the socket file
|
||||
err = os.Remove("steward.sock")
|
||||
if err != nil {
|
||||
log.Printf("error: could not delete sock file: %v\n", err)
|
||||
}
|
||||
|
||||
nl, err := net.Listen("unix", "steward.sock")
|
||||
if err != nil {
|
||||
log.Printf("error: failed to open socket: %v\n", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
s := &server{
|
||||
configuration: c,
|
||||
nodeName: c.NodeName,
|
||||
natsConn: conn,
|
||||
netListener: nl,
|
||||
processes: newProcesses(),
|
||||
toRingbufferCh: make(chan []subjectAndMessage),
|
||||
metrics: newMetrics(c.PromHostAndPort),
|
||||
|
|
Loading…
Add table
Reference in a new issue