1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- package raft
- const (
- StateChangeEventType = "stateChange"
- LeaderChangeEventType = "leaderChange"
- TermChangeEventType = "termChange"
- CommitEventType = "commit"
- AddPeerEventType = "addPeer"
- RemovePeerEventType = "removePeer"
- RemovedEventType = "removed"
- HeartbeatIntervalEventType = "heartbeatInterval"
- ElectionTimeoutThresholdEventType = "electionTimeoutThreshold"
- HeartbeatEventType = "heartbeat"
- )
- // Event represents an action that occurred within the Raft library.
- // Listeners can subscribe to event types by using the Server.AddEventListener() function.
- type Event interface {
- Type() string
- Source() interface{}
- Value() interface{}
- PrevValue() interface{}
- }
- // event is the concrete implementation of the Event interface.
- type event struct {
- typ string
- source interface{}
- value interface{}
- prevValue interface{}
- }
- // newEvent creates a new event.
- func newEvent(typ string, value interface{}, prevValue interface{}) *event {
- return &event{
- typ: typ,
- value: value,
- prevValue: prevValue,
- }
- }
- // Type returns the type of event that occurred.
- func (e *event) Type() string {
- return e.typ
- }
- // Source returns the object that dispatched the event.
- func (e *event) Source() interface{} {
- return e.source
- }
- // Value returns the current value associated with the event, if applicable.
- func (e *event) Value() interface{} {
- return e.value
- }
- // PrevValue returns the previous value associated with the event, if applicable.
- func (e *event) PrevValue() interface{} {
- return e.prevValue
- }
|