operationmanager

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Oct 25, 2015 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type OperationManager

type OperationManager interface {
	// Called when the operation with the given ID has started.
	// Creates a new channel with specified buffer size tracked with the specified ID.
	// Returns a read-only version of the newly created channel.
	// Returns an error if an entry with the specified ID already exists (previous entry must be removed by calling Close).
	Start(id string, bufferSize uint) (<-chan interface{}, error)

	// Called when the operation with the given ID has terminated.
	// Closes and removes the channel associated with ID.
	// Returns an error if no associated channel exists.
	Close(id string) error

	// Attempts to send msg to the channel associated with ID.
	// Returns an error if no associated channel exists.
	Send(id string, msg interface{}) error

	// Returns true if an entry with the specified ID already exists.
	Exists(id string) bool
}

Operation Manager is a thread-safe interface for keeping track of multiple pending async operations.

func NewOperationManager

func NewOperationManager() OperationManager

Returns a new instance of a channel manager.

Jump to

Keyboard shortcuts

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