notify

package
v0.5.0-beta5.1 Latest Latest
Warning

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

Go to latest
Published: Dec 2, 2019 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultMaxQueueCount = 100
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Iterator

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

not multi goroutine safe

func NewIterator

func NewIterator(stream OutputStream, option Option) *Iterator

init iterator is empty

func (*Iterator) CloseWithContext

func (iterator *Iterator) CloseWithContext(ctx context.Context) error

func (*Iterator) Peek

func (iterator *Iterator) Peek(ctx context.Context) (*Notification, error)

func (*Iterator) PullPeeked

func (iterator *Iterator) PullPeeked(ctx context.Context) error

func (*Iterator) ResetPeeked

func (iterator *Iterator) ResetPeeked()

type MemoCursor

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

func (*MemoCursor) CloseWithContext

func (cursor *MemoCursor) CloseWithContext(ctx context.Context) error

func (*MemoCursor) Err

func (cursor *MemoCursor) Err() error

func (*MemoCursor) Next

func (cursor *MemoCursor) Next(ctx context.Context) *Notification

type MemoMessageStream

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

func NewMemoMessageStream

func NewMemoMessageStream() *MemoMessageStream

func (*MemoMessageStream) Close

func (stream *MemoMessageStream) Close() error

func (*MemoMessageStream) Closed

func (stream *MemoMessageStream) Closed() <-chan struct{}

func (*MemoMessageStream) CommitOutput

func (stream *MemoMessageStream) CommitOutput(ctx context.Context, msgs []Notification) error

func (*MemoMessageStream) FetchOutputCursor

func (stream *MemoMessageStream) FetchOutputCursor(ctx context.Context) (OutputCursor, error)

func (*MemoMessageStream) GetLastIndex

func (stream *MemoMessageStream) GetLastIndex() uint64

func (*MemoMessageStream) GetResumeToken

func (stream *MemoMessageStream) GetResumeToken(ctx context.Context) (token string, err error)

func (*MemoMessageStream) Push

func (stream *MemoMessageStream) Push(data interface{}) uint64

func (*MemoMessageStream) ReleaseCursor

func (stream *MemoMessageStream) ReleaseCursor(cursor *MemoCursor)

type Notification

type Notification struct {
	CreateTime  time.Time
	OffsetToken string
	Data        interface{}
}

type Option

type Option struct {
	MaxQueueCount int
	StreamMiddles []OutputStreamMiddle
	CloseTimeOut  time.Duration
}

type OutputCursor

type OutputCursor interface {
	Next(ctx context.Context) *Notification
	CloseWithContext(ctx context.Context) error
	Err() error
}

type OutputStream

type OutputStream interface {
	FetchOutputCursor(ctx context.Context) (OutputCursor, error)
	CommitOutput(ctx context.Context, notifications []Notification) error
}

type OutputStreamMiddle

type OutputStreamMiddle interface {
	WrapStream(stream OutputStream) OutputStream
}

type Queue

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

func NewQueue

func NewQueue(max int) *Queue

func (*Queue) CloseWithContext

func (queue *Queue) CloseWithContext(ctx context.Context) error

func (*Queue) LastPeeked

func (queue *Queue) LastPeeked() *Notification

func (*Queue) Peek

func (queue *Queue) Peek(ctx context.Context) (*Notification, error)

func (*Queue) PullPeeked

func (queue *Queue) PullPeeked(ctx context.Context) error

func (*Queue) Push

func (queue *Queue) Push(ctx context.Context, notification Notification) error

func (*Queue) ResetPeeked

func (queue *Queue) ResetPeeked()

func (*Queue) WaitOk

func (queue *Queue) WaitOk(ctx context.Context) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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