package events

import "github.com/docker/cli/components/engine/daemon/events"

Index

Types

type Events

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

Events is pubsub channel for events generated by the engine.

func New

func New() *Events

New returns new *Events instance

func (*Events) Evict

func (e *Events) Evict(l chan interface{})

Evict evicts listener from pubsub

func (*Events) Log

func (e *Events) Log(action, eventType string, actor eventtypes.Actor)

Log creates a local scope message and publishes it

func (*Events) PublishMessage

func (e *Events) PublishMessage(jm eventtypes.Message)

PublishMessage broadcasts event to listeners. Each listener has 100 milliseconds to receive the event or it will be skipped.

func (*Events) Subscribe

func (e *Events) Subscribe() ([]eventtypes.Message, chan interface{}, func())

Subscribe adds new listener to events, returns slice of 64 stored last events, a channel in which you can expect new events (in form of interface{}, so you need type assertion), and a function to call to stop the stream of events.

func (*Events) SubscribeTopic

func (e *Events) SubscribeTopic(since, until time.Time, ef *Filter) ([]eventtypes.Message, chan interface{})

SubscribeTopic adds new listener to events, returns slice of 64 stored last events, a channel in which you can expect new events (in form of interface{}, so you need type assertion).

func (*Events) SubscribersCount

func (e *Events) SubscribersCount() int

SubscribersCount returns number of event listeners

type Filter

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

Filter can filter out docker events from a stream

func NewFilter

func NewFilter(filter filters.Args) *Filter

NewFilter creates a new Filter

func (*Filter) Include

func (ef *Filter) Include(ev events.Message) bool

Include returns true when the event ev is included by the filters

Source Files

events.go filter.go metrics.go

Directories

PathSynopsis
components/engine/daemon/events/testutils
Version
v17.10.0-ce+incompatible
Published
Oct 17, 2017
Platform
js/wasm
Imports
7 packages
Last checked
4 hours ago

Tools for package owners.