diff options
author | hozan23 <hozan23@karyontech.net> | 2024-06-23 15:57:43 +0200 |
---|---|---|
committer | hozan23 <hozan23@karyontech.net> | 2024-07-09 11:46:03 +0200 |
commit | 6355144b8c3514cccc5c2ab4f7c4fd8e76a1a9fc (patch) | |
tree | 3c31e350c8da79198f6127398905461addccef1e /README.md | |
parent | 223d80fa52d3efd2909b7061e3c42a0ed930b4ff (diff) |
Fix the issue with message dispatcher and channels
Resolved a previous error where each subscription would create a new
channel with the fixed buffer size. This caused blocking when the
channel buffer was full, preventing the client from handling additional messages.
Now, there is a `subscriptions` struct that holds a queue for receiving
notifications, ensuring the notify function does not block.
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -21,14 +21,14 @@ if err != nil { } defer client.Close() -subID, ch, err := client.Subscribe("RPCService.log_subscribe", nil) +sub, err := client.Subscribe("RPCService.log_subscribe", nil) if err != nil { log.Fatal(err) } -log.Infof("Subscribed successfully: %d\n", subID) +log.Infof("Subscribed successfully: %d\n", sub.ID) go func() { - for notification := range ch { + for notification := range sub.Recv() { log.Infof("Receive new notification: %s\n", notification) } }() |