From 8bda3b097f2582eb5595948cc9b3a99ec62b7007 Mon Sep 17 00:00:00 2001 From: ebosas Date: Fri, 11 Jun 2021 14:21:50 +0300 Subject: [PATCH] Comments --- cmd/server/server.go | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/cmd/server/server.go b/cmd/server/server.go index a99d2ed..5d8a6aa 100644 --- a/cmd/server/server.go +++ b/cmd/server/server.go @@ -28,7 +28,7 @@ var ( ) func main() { - fmt.Println("Running server") + fmt.Println("[Server]") // Establish a Rabbit connection. conn, err := rabbit.GetConn(conf.RabbitURL) @@ -64,7 +64,7 @@ func handleWebsocketConn(conn *rabbit.Conn) func(w http.ResponseWriter, r *http. } } -// handleWebsocket starts two message consumers/readers, one consuming +// handleWebsocket starts two message readers (consumers), one consuming // a Rabbit queue and another reading from a Websocket connection. // Each consumer receives a message handler to relay messages – // from Rabbit to Websocket and vice versa. @@ -84,10 +84,9 @@ func handleWebsocket(w http.ResponseWriter, r *http.Request, conn *rabbit.Conn) } defer ch.Close() - // done closes a websocket connection, if there's an error in - // either a Rabbit consumer or Websocket reader. + // done and cancel() makes sure all spawned go routines are + // terminated if any one of them is finished. done := make(chan bool) - // cancel terminates all spawned go routinges if one of them is done. ctx, cancel := context.WithCancel(context.Background()) defer cancel() @@ -98,7 +97,7 @@ func handleWebsocket(w http.ResponseWriter, r *http.Request, conn *rabbit.Conn) return } - // Start a websocket consumer/reader + // Start a websocket reader (consumer) err = iwebsocket.StartReader(ctx, done, ws, handlePublishRabbit(ch)) if err != nil { log.Printf("start websocket reader: %s", err) @@ -132,7 +131,7 @@ func handlePublishRabbit(ch *amqp.Channel) func(msg []byte) error { // TODO: check msg err := rabbit.PublishInChannel(ch, conf.Exchange, conf.KeyBack+"."+conf.KeyDB, msg) if err != nil { - // TODO: log error, not common event + // TODO: log error return fmt.Errorf("publish rabbit: %v", err) } return nil