mukan-consensus/libs/events
Mukan Erkin Törük ef24c0b67e
Some checks are pending
docker-build-cometbft / vars (push) Waiting to run
docker-build-cometbft / build-images (amd64, ubuntu-24.04) (push) Blocked by required conditions
docker-build-cometbft / build-images (arm64, ubuntu-24.04-arm) (push) Blocked by required conditions
docker-build-cometbft / merge-images (push) Blocked by required conditions
docker-build-e2e-node / vars (push) Waiting to run
docker-build-e2e-node / build-images (amd64, ubuntu-24.04) (push) Blocked by required conditions
docker-build-e2e-node / build-images (arm64, ubuntu-24.04-arm) (push) Blocked by required conditions
docker-build-e2e-node / merge-images (push) Blocked by required conditions
initial: sovereign Mukan Network fork
2026-05-11 03:18:27 +03:00
..
event_cache.go initial: sovereign Mukan Network fork 2026-05-11 03:18:27 +03:00
event_cache_test.go initial: sovereign Mukan Network fork 2026-05-11 03:18:27 +03:00
events.go initial: sovereign Mukan Network fork 2026-05-11 03:18:27 +03:00
events_test.go initial: sovereign Mukan Network fork 2026-05-11 03:18:27 +03:00
Makefile initial: sovereign Mukan Network fork 2026-05-11 03:18:27 +03:00
README.md initial: sovereign Mukan Network fork 2026-05-11 03:18:27 +03:00

events

import "github.com/cometbft/cometbft/libs/events"

Overview

Pub-Sub in go with event caching

Index

Package files

event_cache.go events.go

Type EventCache

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

func NewEventCache(evsw Fireable) *EventCache

Create a new EventCache with an EventSwitch as backend

func (*EventCache) FireEvent

func (evc *EventCache) FireEvent(event string, data EventData)

Cache an event to be fired upon finality.

func (*EventCache) Flush

func (evc *EventCache) Flush()

Fire events by running evsw.FireEvent on all cached events. Blocks. Clears cached events

Type EventCallback

type EventCallback func(data EventData)

Type EventData

type EventData interface {
}

Generic event data can be typed and registered with tendermint/go-amino via concrete implementation of this interface

Type EventSwitch

type EventSwitch interface {
    service.Service
    Fireable

    AddListenerForEvent(listenerID, event string, cb EventCallback)
    RemoveListenerForEvent(event string, listenerID string)
    RemoveListener(listenerID string)
}

func NewEventSwitch

func NewEventSwitch() EventSwitch

Type Eventable

type Eventable interface {
    SetEventSwitch(evsw EventSwitch)
}

reactors and other modules should export this interface to become eventable

Type Fireable

type Fireable interface {
    FireEvent(event string, data EventData)
}

an event switch or cache implements fireable


Generated by godoc2md