Skip to content

Commit 255cd22

Browse files
committed
Fix not starting if hisilicon server enabled
1 parent bf78d97 commit 255cd22

File tree

7 files changed

+37
-20
lines changed

7 files changed

+37
-20
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
.idea/
2-
config.yaml
2+
/config.yaml

Readme.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ Supported Delivery 📬:
1717

1818
## Configuration
1919

20-
Create file `config.yml` in the folder where the application binary lives.
20+
Create file `config.yaml` in the folder where the application binary lives.
2121

22-
Also see [sample config](docs/config.yml).
22+
Also see [sample config](docs/config.yaml).
2323

2424
When alarm server is coming online, it will also send a status message to `/camera-alerts` topic with its status.
2525

docs/config.yml renamed to docs/config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
debug: "false"
1+
debug: false
22

33
hikvision:
44
enabled: true

main.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,17 @@ func main() {
2727
mqttBus := mqtt.Bus{Debug: config.Debug}
2828
if config.Mqtt.Enabled {
2929
mqttBus.Initialize(config.Mqtt)
30+
if config.Debug {
31+
fmt.Println("MQTT BUS INITIALIZED")
32+
}
3033
}
3134

3235
webhookBus := webhooks.Bus{Debug: config.Debug}
3336
if !config.Webhooks.Enabled {
3437
webhookBus.Initialize(config.Webhooks)
38+
if config.Debug {
39+
fmt.Println("WEBHOOK BUS INITIALIZED")
40+
}
3541
}
3642

3743
messageHandler := func(topic string, data string) {
@@ -51,6 +57,9 @@ func main() {
5157
MessageHandler: messageHandler,
5258
}
5359
hisiliconServer.Start()
60+
if config.Debug {
61+
fmt.Println("STARTED HISILICON SERVER")
62+
}
5463
}
5564

5665
if config.Hikvision.Enabled {
@@ -61,6 +70,9 @@ func main() {
6170
MessageHandler: messageHandler,
6271
}
6372
hikvisionServer.Start()
73+
if config.Debug {
74+
fmt.Println("STARTED HIKVISION SERVER")
75+
}
6476
}
6577

6678
if config.Ftp.Enabled {
@@ -73,5 +85,8 @@ func main() {
7385
MessageHandler: messageHandler,
7486
}
7587
ftpServer.Start()
88+
if config.Debug {
89+
fmt.Println("STARTED FTP SERVER")
90+
}
7691
}
7792
}

servers/ftp/server.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ type Event struct {
2020
Message string `json:"message"`
2121
}
2222

23-
func (serv Server) Start() {
23+
func (serv *Server) Start() {
2424
if serv.MessageHandler == nil {
2525
fmt.Println("FTP: Message handler is not set for FTP server - that's probably not what you want")
2626
serv.MessageHandler = func(topic string, data string) {

servers/hikvision/server.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ type HikEventReader interface {
4646
ReadEvents(camera *HikCamera, channel chan<- HikEvent, callback func())
4747
}
4848

49-
func (server Server) addCamera(waitGroup *sync.WaitGroup, camera *HikCamera, eventChannel chan<- HikEvent) {
49+
func (server *Server) addCamera(waitGroup *sync.WaitGroup, camera *HikCamera, eventChannel chan<- HikEvent) {
5050
waitGroup.Add(1)
5151
if !camera.BrokenHttp {
5252
camera.EventReader = &HttpEventReader{Debug: server.Debug}
@@ -74,7 +74,7 @@ func (server Server) addCamera(waitGroup *sync.WaitGroup, camera *HikCamera, eve
7474
}()
7575
}
7676

77-
func (server Server) Start() {
77+
func (server *Server) Start() {
7878
if server.Cameras == nil || len(*server.Cameras) == 0 {
7979
fmt.Println("HIK: Error: no cameras defined")
8080
return

servers/hisilicon/server.go

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ func hexIpToCIDR(hexAddr string) string {
3636
return ipAddr
3737
}
3838

39-
func (server Server) handleTcpConnection(conn net.Conn) {
39+
func (server *Server) handleTcpConnection(conn net.Conn) {
4040
defer conn.Close()
4141

4242
if server.Debug {
@@ -90,7 +90,7 @@ type Server struct {
9090
MessageHandler func(topic string, data string)
9191
}
9292

93-
func (server Server) Start() {
93+
func (server *Server) Start() {
9494
if server.Port == "" {
9595
server.Port = "15002" // DEFAULT PORT
9696
}
@@ -101,18 +101,20 @@ func (server Server) Start() {
101101
}
102102
}
103103

104-
// START TCP SERVER
105-
tcpListener, err := net.Listen("tcp4", ":"+server.Port)
106-
if err != nil {
107-
panic(err)
108-
}
109-
defer tcpListener.Close()
110-
111-
for {
112-
conn, err := tcpListener.Accept()
104+
go func() {
105+
// START TCP SERVER
106+
tcpListener, err := net.Listen("tcp4", ":"+server.Port)
113107
if err != nil {
114108
panic(err)
115109
}
116-
go server.handleTcpConnection(conn)
117-
}
110+
defer tcpListener.Close()
111+
112+
for {
113+
conn, err := tcpListener.Accept()
114+
if err != nil {
115+
panic(err)
116+
}
117+
go server.handleTcpConnection(conn)
118+
}
119+
}()
118120
}

0 commit comments

Comments
 (0)