doc.gno
0.91 Kb ยท 37 lines
1// Package message provides a simple message broker implementation.
2//
3// The message broker is a Pub/Sub one. It implements two different interfaces,
4// `Publisher` and `Subscriber`, which are also defined within this package.
5//
6// Published messages contain the topic where they are published and optional
7// message data.
8//
9// Subscribe to an event:
10//
11// broker := message.NewBroker()
12// subID, err := broker.Subscribe("EventName", func(msg message.Message) {
13// println("EventName has been triggered")
14// println(msg.Data)
15// })
16// if err != nil {
17// panic(err)
18// }
19//
20// Unsubscribe from an event:
21//
22// unsubscribed, err := broker.Unsubscribe("EventName", subID)
23// if err != nil {
24// panic(err)
25// }
26//
27// if !unsubscribed {
28// panic("subscription not found")
29// }
30//
31// Publish an event:
32//
33// err := broker.Publish("EventName", "Example event data")
34// if err != nil {
35// panic(err)
36// }
37package message