wait - ActiveState ActiveGo 1.8
...

Package wait

import "github.com/coreos/etcd/pkg/wait"
Overview
Index

Overview ▾

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

func NewTimeList

func NewTimeList() *timeList

type Wait

Wait is an interface that provides the ability to wait and trigger events that are associated with IDs.

type Wait interface {
    // Register waits returns a chan that waits on the given ID.
    // The chan will be triggered when Trigger is called with
    // the same ID.
    Register(id uint64) <-chan interface{}
    // Trigger triggers the waiting chans with the given ID.
    Trigger(id uint64, x interface{})
    IsRegistered(id uint64) bool
}

func New

func New() Wait

New creates a Wait.

func NewWithResponse

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

type WaitTime

type WaitTime interface {
    // Wait returns a chan that waits on the given logical deadline.
    // The chan will be triggered when Trigger is called with a
    // deadline that is later than the one it is waiting for.
    Wait(deadline uint64) <-chan struct{}
    // Trigger triggers all the waiting chans with an earlier logical deadline.
    Trigger(deadline uint64)
}