observer

package
v0.16.0-rc Latest Latest
Warning

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

Go to latest
Published: Nov 8, 2016 License: BSD-3-Clause Imports: 6 Imported by: 12

Documentation

Overview

Package observer provides a facility for publishing progress updates and state changes from parts of the daemon, an a SSE http handler for consumers of these events.

Index

Constants

This section is empty.

Variables

View Source
var CtxRequestID ctxkey = "id"

CtxRequestID is the context WithValue key for a request id.

Functions

This section is empty.

Types

type EventType

type EventType string

EventType represents all possible types of events that can be observed.

const (
	Progress EventType = "progress"
	Started  EventType = "started"
	Finished EventType = "finished"
	Errored  EventType = "errored"
	Aborted  EventType = "aborted"
)

All values for EventType

type Notifier

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

Notifier belongs to a transactions and represents one segment in a series of actions. A Notifier can send many messages.

func (*Notifier) Notifier

func (n *Notifier) Notifier(total uint) *Notifier

Notifier creates a child notifier to this Notifier

func (*Notifier) Notify

func (n *Notifier) Notify(eventType EventType, message string, increment bool)

Notify publishes an event to all SSE observers.

type Observer

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

Observer receives events via Notify, and publishes them as SSEs via its ServeHTTP function.

func New

func New() *Observer

New returns a new initialized Observer

func (*Observer) Notifier

func (o *Observer) Notifier(ctx context.Context, total uint) (*Notifier, error)

Notifier creates a new transaction for sending notifications

func (*Observer) ServeHTTP

func (o *Observer) ServeHTTP(rw http.ResponseWriter, r *http.Request)

ServeHTTP implements the http.Handler interface for providing server-sent events of observed notifications.

func (*Observer) Start

func (o *Observer) Start()

Start begins listening for notifications of observable events. It returns after stop has been called.

func (*Observer) Stop

func (o *Observer) Stop()

Stop terminates propagation of events through the observer

Jump to

Keyboard shortcuts

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