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 Wait

    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
    }

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

      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)
        }