wait

package
v2.3.0-alpha.0....-8199147 Latest Latest
Warning

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

Go to latest
Published: Jan 25, 2016 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Overview

Package wait provides utility functions for polling, listening using Go channel.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewTimeList

func NewTimeList() *timeList

Types

type List

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

func New

func New() *List

func (*List) Register

func (w *List) Register(id uint64) <-chan interface{}

func (*List) Trigger

func (w *List) Trigger(id uint64, x interface{})

type Wait

type Wait interface {
	Register(id uint64) <-chan interface{}
	Trigger(id uint64, x interface{})
}

func NewNop

func NewNop() Wait

func NewWithResponse

func NewWithResponse(ch <-chan interface{}) Wait

type WaitRecorder

type WaitRecorder struct {
	Wait
	testutil.Recorder
}

func NewRecorder

func NewRecorder() *WaitRecorder

type WaitTime

type WaitTime interface {
	// Wait returns a chan that waits on the given deadline.
	// The chan will be triggered when Trigger is called with a
	// deadline that is later than the one it is waiting for.
	// The given deadline MUST be unique. The deadline should be
	// retrived by calling time.Now() in most cases.
	Wait(deadline time.Time) <-chan struct{}
	// Trigger triggers all the waiting chans with an earlier deadline.
	Trigger(deadline time.Time)
}

Jump to

Keyboard shortcuts

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