aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
author2026-03-22 16:13:20 +0300
committer2026-03-22 16:13:20 +0300
commit485f49c2323a95297c8b5ae5f44320825d66ae82 (patch)
tree3db739918a0a19387f8e85fb30cc7d2fcf31c669 /README.md
parentv1.0.1 (diff)
downloadeventbus-1.1.0.tar.gz
eventbus-1.1.0.tar.bz2
eventbus-1.1.0.tar.xz
eventbus-1.1.0.zip
new versionHEADv1.1.0master
Diffstat (limited to 'README.md')
-rw-r--r--README.md50
1 files changed, 18 insertions, 32 deletions
diff --git a/README.md b/README.md
index 6f777fe..fa45aaf 100644
--- a/README.md
+++ b/README.md
@@ -59,16 +59,13 @@ func main() {
)
// Подписываемся на конкретное событие
- ch1 := bus.Subscribe("user.login")
- defer bus.Unsubscribe(ch1)
+ ch1 := bus.Subscribe(context.Background(), "user.login")
// Подписываемся на группу событий с wildcard
- ch2 := bus.Subscribe("user.*")
- defer bus.Unsubscribe(ch2)
+ ch2 := bus.Subscribe(context.Background(), "user.*")
// Подписываемся на группу событий с кастомным wildcard
- ch3 := customBus.Subscribe("/user/#")
- defer customBus.Unsubscribe(ch3)
+ ch3 := customBus.Subscribe(context.Background(), "/user/#")
// Запускаем горутины для обработки событий
go func() {
@@ -90,9 +87,9 @@ func main() {
}()
// Отправляем события
- bus.Fire(MyEvent{name: "user.login", data: "user123"})
- bus.Fire(MyEvent{name: "user.logout", data: "user123"})
- customBus.Fire(MyEvent{name: "/user/login", data: "user123"})
+ bus.Publish(MyEvent{name: "user.login", data: "user123"})
+ bus.Publish(MyEvent{name: "user.logout", data: "user123"})
+ customBus.Publish(MyEvent{name: "/user/login", data: "user123"})
// Ждем немного для обработки событий
time.Sleep(100 * time.Millisecond)
@@ -111,20 +108,16 @@ func main() {
- `Capacity` - задает начальную емкость для узлов дерева подписчиков (по
умолчанию 32)
-### `func (b *bus) Subscribe(path string) Listener`
+### `func (b *bus) Subscribe(ctx context.Context, path string) Listener`
Подписывается на событие по указанному пути. Возвращает канал-подписчик для
получения событий.
-### `func (b *bus) Unsubscribe(l Listener)`
-
-Отписывается от события и закрывает канал подписчика.
-
### `func (b *bus) Close()`
Закрывает шину событий и все каналы подписчиков.
-### `func (b *bus) Fire(ev Event)`
+### `func (b *bus) Publish(ev Event)`
Отправляет событие всем подписчикам, которые подписаны на соответствующий путь
события.
@@ -204,16 +197,13 @@ func main() {
)
// Subscribe to specific event
- ch1 := bus.Subscribe("user.login")
- defer bus.Unsubscribe(ch1)
+ ch1 := bus.Subscribe(context.Background(), "user.login")
// Subscribe to event group with wildcard
- ch2 := bus.Subscribe("user.*")
- defer bus.Unsubscribe(ch2)
+ ch2 := bus.Subscribe(context.Background(), "user.*")
// Subscribe to event group with custom wildcard
- ch3 := customBus.Subscribe("/user/#")
- defer customBus.Unsubscribe(ch3)
+ ch3 := customBus.Subscribe(context.Background(), "/user/#")
// Start goroutines for event handling
go func() {
@@ -234,10 +224,10 @@ func main() {
}
}()
- // Fire events
- bus.Fire(MyEvent{name: "user.login", data: "user123"})
- bus.Fire(MyEvent{name: "user.logout", data: "user123"})
- customBus.Fire(MyEvent{name: "/user/login", data: "user123"})
+ // Publish events
+ bus.Publish(MyEvent{name: "user.login", data: "user123"})
+ bus.Publish(MyEvent{name: "user.logout", data: "user123"})
+ customBus.Publish(MyEvent{name: "/user/login", data: "user123"})
// Wait a bit for event processing
time.Sleep(100 * time.Millisecond)
@@ -254,22 +244,18 @@ Creates a new event bus with optional settings. Supports the following options:
- `Wildcard` - sets the wildcard character for subscriptions (default "\*")
- `Capacity` - sets the initial capacity for listeners trie (default 32)
-### `func (b *bus) Subscribe(path string) Listener`
+### `func (b *bus) Subscribe(ctx context.Context, path string) Listener`
Subscribes to an event at the specified path. Returns a listener channel for
receiving events.
-### `func (b *bus) Unsubscribe(l Listener)`
-
-Unsubscribes from an event and closes the listener channel.
-
### `func (b *bus) Close()`
Closes the event bus and all listener channels.
-### `func (b *bus) Fire(ev Event)`
+### `func (b *bus) Publish(ev Event)`
-Fires an event to all subscribers who are subscribed to the corresponding event
+Publishs an event to all subscribers who are subscribed to the corresponding event
path.
## License