github.com/evdatsion/aphelion-dpos-bft@v0.32.1/libs/events/README.md (about)

     1  
     2  
     3  # events
     4  `import "github.com/evdatsion/aphelion-dpos-bft/libs/events"`
     5  
     6  * [Overview](#pkg-overview)
     7  * [Index](#pkg-index)
     8  
     9  ## <a name="pkg-overview">Overview</a>
    10  Pub-Sub in go with event caching
    11  
    12  
    13  
    14  
    15  ## <a name="pkg-index">Index</a>
    16  * [type EventCache](#EventCache)
    17    * [func NewEventCache(evsw Fireable) *EventCache](#NewEventCache)
    18    * [func (evc *EventCache) FireEvent(event string, data EventData)](#EventCache.FireEvent)
    19    * [func (evc *EventCache) Flush()](#EventCache.Flush)
    20  * [type EventCallback](#EventCallback)
    21  * [type EventData](#EventData)
    22  * [type EventSwitch](#EventSwitch)
    23    * [func NewEventSwitch() EventSwitch](#NewEventSwitch)
    24  * [type Eventable](#Eventable)
    25  * [type Fireable](#Fireable)
    26  
    27  
    28  #### <a name="pkg-files">Package files</a>
    29  [event_cache.go](/src/github.com/evdatsion/aphelion-dpos-bft/libs/events/event_cache.go) [events.go](/src/github.com/evdatsion/aphelion-dpos-bft/libs/events/events.go) 
    30  
    31  
    32  
    33  
    34  
    35  
    36  ## <a name="EventCache">type</a> [EventCache](/src/target/event_cache.go?s=116:179#L5)
    37  ``` go
    38  type EventCache struct {
    39      // contains filtered or unexported fields
    40  }
    41  ```
    42  An EventCache buffers events for a Fireable
    43  All events are cached. Filtering happens on Flush
    44  
    45  
    46  
    47  
    48  
    49  
    50  
    51  ### <a name="NewEventCache">func</a> [NewEventCache](/src/target/event_cache.go?s=239:284#L11)
    52  ``` go
    53  func NewEventCache(evsw Fireable) *EventCache
    54  ```
    55  Create a new EventCache with an EventSwitch as backend
    56  
    57  
    58  
    59  
    60  
    61  ### <a name="EventCache.FireEvent">func</a> (\*EventCache) [FireEvent](/src/target/event_cache.go?s=449:511#L24)
    62  ``` go
    63  func (evc *EventCache) FireEvent(event string, data EventData)
    64  ```
    65  Cache an event to be fired upon finality.
    66  
    67  
    68  
    69  
    70  ### <a name="EventCache.Flush">func</a> (\*EventCache) [Flush](/src/target/event_cache.go?s=735:765#L31)
    71  ``` go
    72  func (evc *EventCache) Flush()
    73  ```
    74  Fire events by running evsw.FireEvent on all cached events. Blocks.
    75  Clears cached events
    76  
    77  
    78  
    79  
    80  ## <a name="EventCallback">type</a> [EventCallback](/src/target/events.go?s=4201:4240#L185)
    81  ``` go
    82  type EventCallback func(data EventData)
    83  ```
    84  
    85  
    86  
    87  
    88  
    89  
    90  
    91  
    92  
    93  ## <a name="EventData">type</a> [EventData](/src/target/events.go?s=243:294#L14)
    94  ``` go
    95  type EventData interface {
    96  }
    97  ```
    98  Generic event data can be typed and registered with tendermint/go-amino
    99  via concrete implementation of this interface
   100  
   101  
   102  
   103  
   104  
   105  
   106  
   107  
   108  
   109  
   110  ## <a name="EventSwitch">type</a> [EventSwitch](/src/target/events.go?s=560:771#L29)
   111  ``` go
   112  type EventSwitch interface {
   113      cmn.Service
   114      Fireable
   115  
   116      AddListenerForEvent(listenerID, event string, cb EventCallback)
   117      RemoveListenerForEvent(event string, listenerID string)
   118      RemoveListener(listenerID string)
   119  }
   120  ```
   121  
   122  
   123  
   124  
   125  
   126  
   127  ### <a name="NewEventSwitch">func</a> [NewEventSwitch](/src/target/events.go?s=917:950#L46)
   128  ``` go
   129  func NewEventSwitch() EventSwitch
   130  ```
   131  
   132  
   133  
   134  
   135  ## <a name="Eventable">type</a> [Eventable](/src/target/events.go?s=378:440#L20)
   136  ``` go
   137  type Eventable interface {
   138      SetEventSwitch(evsw EventSwitch)
   139  }
   140  ```
   141  reactors and other modules should export
   142  this interface to become eventable
   143  
   144  
   145  
   146  
   147  
   148  
   149  
   150  
   151  
   152  
   153  ## <a name="Fireable">type</a> [Fireable](/src/target/events.go?s=490:558#L25)
   154  ``` go
   155  type Fireable interface {
   156      FireEvent(event string, data EventData)
   157  }
   158  ```
   159  an event switch or cache implements fireable
   160  
   161  
   162  
   163  
   164  
   165  
   166  
   167  
   168  
   169  
   170  
   171  
   172  
   173  
   174  - - -
   175  Generated by [godoc2md](http://godoc.org/github.com/davecheney/godoc2md)