Search Apps Documentation Source Content File Folder Download Copy Actions Download

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