@@ -32,6 +32,7 @@ import (
3232 "github.com/HyperloopUPV-H8/h9-backend/pkg/broker"
3333 connection_topic "github.com/HyperloopUPV-H8/h9-backend/pkg/broker/topics/connection"
3434 data_topic "github.com/HyperloopUPV-H8/h9-backend/pkg/broker/topics/data"
35+ logger_topic "github.com/HyperloopUPV-H8/h9-backend/pkg/broker/topics/logger"
3536 order_topic "github.com/HyperloopUPV-H8/h9-backend/pkg/broker/topics/order"
3637 "github.com/HyperloopUPV-H8/h9-backend/pkg/transport"
3738 "github.com/HyperloopUPV-H8/h9-backend/pkg/transport/network/sniffer"
@@ -155,10 +156,12 @@ func main() {
155156 defer dataTopic .Stop ()
156157 connectionTopic := connection_topic .NewUpdateTopic ()
157158 orderTopic := order_topic .NewSendTopic ()
159+ loggerTopic := logger_topic .NewEnableTopic ()
158160
159161 broker .AddTopic (data_topic .UpdateName , dataTopic )
160162 broker .AddTopic (connection_topic .UpdateName , connectionTopic )
161163 broker .AddTopic (order_topic .SendName , orderTopic )
164+ broker .AddTopic (logger_topic .EnableName , loggerTopic )
162165
163166 connections := make (chan * websocket.Client )
164167 upgrader := websocket .NewUpgrader (connections )
@@ -280,6 +283,26 @@ func main() {
280283 if err != nil {
281284 fmt .Println ("Error pushing record to logger: " , err )
282285 }
286+ case logger_topic .EnableName :
287+ status , ok := push .(* logger_topic.Status )
288+ if ! ok {
289+ trace .Error ().Any ("push" , push ).Msg ("error casting push to enable" )
290+ fmt .Printf ("Push Type: %v\n " , push )
291+ return
292+ }
293+
294+ var err error
295+ if status .Enable () {
296+ err = loggerHandler .Start ()
297+ } else {
298+ err = loggerHandler .Stop ()
299+ }
300+
301+ if err != nil {
302+ status .Fulfill (! status .Enable ())
303+ } else {
304+ status .Fulfill (status .Enable ())
305+ }
283306 default :
284307 fmt .Printf ("unknow topic %s\n " , push .Topic ())
285308 }
0 commit comments