-
-
- # events
-
- `import "github.com/tendermint/tendermint/libs/events"`
-
- * [Overview](#pkg-overview)
- * [Index](#pkg-index)
-
- ## Overview
-
- Pub-Sub in go with event caching
-
- ## Index
-
- * [type EventCache](#EventCache)
- * [func NewEventCache(evsw Fireable) *EventCache](#NewEventCache)
- * [func (evc *EventCache) FireEvent(event string, data EventData)](#EventCache.FireEvent)
- * [func (evc *EventCache) Flush()](#EventCache.Flush)
- * [type EventCallback](#EventCallback)
- * [type EventData](#EventData)
- * [type EventSwitch](#EventSwitch)
- * [func NewEventSwitch() EventSwitch](#NewEventSwitch)
- * [type Eventable](#Eventable)
- * [type Fireable](#Fireable)
-
-
- ### Package files
-
- [event_cache.go](/src/github.com/tendermint/tendermint/libs/events/event_cache.go) [events.go](/src/github.com/tendermint/tendermint/libs/events/events.go)
-
-
-
-
-
-
- ## Type [EventCache](/src/target/event_cache.go?s=116:179#L5)
-
- ``` go
- type EventCache struct {
- // contains filtered or unexported fields
- }
- ```
-
- An EventCache buffers events for a Fireable
- All events are cached. Filtering happens on Flush
-
-
-
-
-
-
-
- ### func [NewEventCache](/src/target/event_cache.go?s=239:284#L11)
-
- ``` go
- func NewEventCache(evsw Fireable) *EventCache
- ```
-
- Create a new EventCache with an EventSwitch as backend
-
-
-
-
-
- ### func (\*EventCache) [FireEvent](/src/target/event_cache.go?s=449:511#L24)
-
- ``` go
- func (evc *EventCache) FireEvent(event string, data EventData)
- ```
-
- Cache an event to be fired upon finality.
-
-
-
-
- ### func (\*EventCache) [Flush](/src/target/event_cache.go?s=735:765#L31)
-
- ``` go
- func (evc *EventCache) Flush()
- ```
-
- Fire events by running evsw.FireEvent on all cached events. Blocks.
- Clears cached events
-
-
-
-
- ## Type [EventCallback](/src/target/events.go?s=4201:4240#L185)
-
- ``` go
- type EventCallback func(data EventData)
- ```
-
-
-
-
-
-
-
-
-
- ## Type [EventData](/src/target/events.go?s=243:294#L14)
-
- ``` go
- type EventData interface {
- }
- ```
-
- Generic event data can be typed and registered with tendermint/go-amino
- via concrete implementation of this interface
-
-
-
-
-
-
-
-
-
-
- ## Type [EventSwitch](/src/target/events.go?s=560:771#L29)
-
- ``` go
- type EventSwitch interface {
- service.Service
- Fireable
-
- AddListenerForEvent(listenerID, event string, cb EventCallback)
- RemoveListenerForEvent(event string, listenerID string)
- RemoveListener(listenerID string)
- }
- ```
-
-
-
-
-
-
- ### func [NewEventSwitch](/src/target/events.go?s=917:950#L46)
-
- ``` go
- func NewEventSwitch() EventSwitch
- ```
-
-
-
-
- ## Type [Eventable](/src/target/events.go?s=378:440#L20)
-
- ``` go
- type Eventable interface {
- SetEventSwitch(evsw EventSwitch)
- }
- ```
-
- reactors and other modules should export
- this interface to become eventable
-
-
-
-
-
-
-
-
-
-
- ## Type [Fireable](/src/target/events.go?s=490:558#L25)
-
- ``` go
- type Fireable interface {
- FireEvent(event string, data EventData)
- }
- ```
-
- an event switch or cache implements fireable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - - -
- Generated by [godoc2md](http://godoc.org/github.com/davecheney/godoc2md)
|