events

package
v0.0.0-...-dd2df95 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 15, 2020 License: BSD-3-Clause Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNotRegistered = errors.New("Event handler not registered")

Functions

This section is empty.

Types

type Dispatcher

type Dispatcher interface {
	Send(Event) error
}

Dispatcher sends event to subscribers

type Event

type Event struct {
	TimeStamp time.Time       `json:"time_stamp"`
	Type      EventType       `json:"type"`
	Data      json.RawMessage `json:"message"`
	User      string          `json:"user"`
}

Event represents application event

type EventType

type EventType string

type Executor

type Executor interface {
	Execute(Event) error
	Register(EventType, Handler) error
}

type Handler

type Handler interface {
	Handle(Event) error
}

Handle describes event handler behavior

type InMemoryExecutor

type InMemoryExecutor struct {
	// contains filtered or unexported fields
}

func NewInMemoryExecutor

func NewInMemoryExecutor() *InMemoryExecutor

func (*InMemoryExecutor) Execute

func (r *InMemoryExecutor) Execute(e Event) error

func (*InMemoryExecutor) Register

func (r *InMemoryExecutor) Register(et EventType, eh Handler) error

type NatsDispatcher

type NatsDispatcher struct {
	URL string
}

NatsDispatcher dispatches events through nats queues

func NewNatsDispatcher

func NewNatsDispatcher(URL string) *NatsDispatcher

NewNatsDispatcher creates NatsDispatcher instance

func (*NatsDispatcher) Send

func (nd *NatsDispatcher) Send(e Event) error

Send implements event dispatcher interface

type NatsSink

type NatsSink struct {
	URL string
	// contains filtered or unexported fields
}

NatsSink receives events through nats queue

func NewNatsSink

func NewNatsSink(natsURL string) *NatsSink

NewNatsSink creates NatsSink instance

func (*NatsSink) Err

func (ns *NatsSink) Err() chan error

Err returns any error that occured during processing

func (*NatsSink) Receive

func (ns *NatsSink) Receive() chan Event

Receive receives events

type Sink

type Sink interface {
	Receive() chan Event
	Err() chan error
}

Sink receives event stream

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL