hub

package
v0.0.0-...-8ecc595 Latest Latest
Warning

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

Go to latest
Published: Jun 23, 2020 License: MIT Imports: 1 Imported by: 0

Documentation

Overview

Package hub provides a simple event dispatcher for publish/subscribe pattern.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Publish

func Publish(e Event)

Publish an event to the subscribers in DefaultHub.

func Subscribe

func Subscribe(kind Kind, f func(Event)) (cancel func())

Subscribe registers f for the event of a specific kind in the DefaultHub.

Types

type Event

type Event interface {
	Kind() Kind
}

Event is an interface for published events.

type Hub

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

Hub is an event dispatcher, publishes events to the subscribers which are subscribed for a specific event type. Optimized for publish calls. The handlers may be called in order different than they are registered.

var DefaultHub Hub

DefaultHub is the default Hub used by Publish and Subscribe.

func (*Hub) Publish

func (h *Hub) Publish(e Event)

Publish an event to the subscribers.

func (*Hub) Subscribe

func (h *Hub) Subscribe(kind Kind, f func(Event)) (cancel func())

Subscribe registers f for the event of a specific kind.

type Kind

type Kind int

Jump to

Keyboard shortcuts

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