Help us shape the future of Go! Take the 2026 Go Developer Survey

pubsub

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Sep 17, 2015 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ConsoleOpts = &Opts{
	Timeout: time.Minute * 120,
	Record:  true,
}
View Source
var DefaultOpts = &Opts{
	Timeout: 0,
	Record:  false,
}

Functions

func NewContext

func NewContext(parent context.Context, pubsub *PubSub) context.Context

NewContext returns a Context whose Value method returns the PubSub module.

func Unregister

func Unregister(c context.Context, key interface{})

Unregister performs a thread safe operation to delete the Channel with the given key.

Types

type Buffer

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

func NewBuffer

func NewBuffer(channel *Channel) *Buffer

func (*Buffer) Bytes

func (b *Buffer) Bytes() []byte

func (*Buffer) Write

func (b *Buffer) Write(p []byte) (n int, err error)

func (*Buffer) WriteString

func (b *Buffer) WriteString(s string) (n int, err error)

type Channel

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

func Lookup

func Lookup(c context.Context, key interface{}) *Channel

Lookup performs a thread safe operation to return a pointer to an existing Channel object with the given key. If the Channel does not exist a nil value is returned.

func NewChannel

func NewChannel(opts *Opts) *Channel

func Register

func Register(c context.Context, key interface{}) *Channel

Register performs a thread safe operation to return a pointer to a Channel object for the given key. The Channel is created if it does not yet exist.

func RegisterOpts

func RegisterOpts(c context.Context, key interface{}, opts *Opts) *Channel

Register performs a thread safe operation to return a pointer to a Channel object for the given key. The Channel is created if it does not yet exist using custom options.

func (*Channel) Close

func (c *Channel) Close()

func (*Channel) Publish

func (c *Channel) Publish(data interface{})

func (*Channel) Subscribe

func (c *Channel) Subscribe() *Subscription

type Opts

type Opts struct {
	// Timeout sets the expiration date for the channel,
	// at which time it will be closed and transmission will
	// stop. A zero value for means the channel will not timeout.
	Timeout time.Duration

	// Record indicates the channel should record the channel
	// activity and playback the full history to subscribers.
	Record bool
}

type PubSub

type PubSub struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func FromContext

func FromContext(c context.Context) *PubSub

FromContext returns the pool assigned to the context.

func NewPubSub

func NewPubSub() *PubSub

NewPubSub creates a new instance of the PubSub type and returns a pointer.

func (*PubSub) Lookup

func (b *PubSub) Lookup(key interface{}) *Channel

Lookup performs a thread safe operation to return a pointer to an existing Channel object with the given key. If the Channel does not exist a nil value is returned.

func (*PubSub) Register

func (b *PubSub) Register(key interface{}) *Channel

Register performs a thread safe operation to return a pointer to a Channel object for the given key. The Channel is created if it does not yet exist.

func (*PubSub) RegisterOpts

func (b *PubSub) RegisterOpts(key interface{}, opts *Opts) *Channel

Register performs a thread safe operation to return a pointer to a Channel object for the given key. The Channel is created if it does not yet exist using custom options.

func (*PubSub) Unregister

func (b *PubSub) Unregister(key interface{})

Unregister performs a thread safe operation to delete the Channel with the given key.

type Subscription

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

func NewSubscription

func NewSubscription(channel *Channel) *Subscription

func (*Subscription) Close

func (s *Subscription) Close()

func (*Subscription) CloseNotify

func (s *Subscription) CloseNotify() <-chan bool

func (*Subscription) Read

func (s *Subscription) Read() <-chan interface{}

Jump to

Keyboard shortcuts

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