Documentation
¶
Index ¶
- Constants
- type Iterator
- type MemoCursor
- type MemoMessageStream
- func (stream *MemoMessageStream) Close() error
- func (stream *MemoMessageStream) Closed() <-chan struct{}
- func (stream *MemoMessageStream) CommitOutput(ctx context.Context, msgs []Notification) error
- func (stream *MemoMessageStream) FetchOutputCursor(ctx context.Context) (OutputCursor, error)
- func (stream *MemoMessageStream) GetLastIndex() uint64
- func (stream *MemoMessageStream) GetResumeToken(ctx context.Context) (token string, err error)
- func (stream *MemoMessageStream) Push(data interface{}) uint64
- func (stream *MemoMessageStream) ReleaseCursor(cursor *MemoCursor)
- type Notification
- type Option
- type OutputCursor
- type OutputStream
- type OutputStreamMiddle
- type Queue
- func (queue *Queue) CloseWithContext(ctx context.Context) error
- func (queue *Queue) LastPeeked() *Notification
- func (queue *Queue) Peek(ctx context.Context) (*Notification, error)
- func (queue *Queue) PullPeeked(ctx context.Context) error
- func (queue *Queue) Push(ctx context.Context, notification Notification) error
- func (queue *Queue) ResetPeeked()
- func (queue *Queue) WaitOk(ctx context.Context) error
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) 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 Option ¶
type Option struct { MaxQueueCount int StreamMiddles []OutputStreamMiddle CloseTimeOut time.Duration }
type OutputCursor ¶
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 (*Queue) LastPeeked ¶
func (queue *Queue) LastPeeked() *Notification
func (*Queue) ResetPeeked ¶
func (queue *Queue) ResetPeeked()
Click to show internal directories.
Click to hide internal directories.