storage

package
v0.0.0-...-98b2de1 Latest Latest
Warning

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

Go to latest
Published: Aug 21, 2015 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	DefaultRetry   = types.Retry(10)
	DefaultTimeout = types.Duration(30 * time.Second)
)
View Source
var (
	ErrEmpty              = errors.New("Error empty queue")
	ErrInvalidEphemeralID = errors.New("Error invalid ephemeral id")
)

Functions

func NewContext

func NewContext(ctx context.Context, d Driver) context.Context

Types

type AccumState

type AccumState int
const (
	AccumDisabled AccumState = iota
	AccumStarted
	AccumAdded
)

type Driver

type Driver interface {
	Enqueue(string, uid.ID, *Envelope, *EnqueueOptions) (*EnqueueMeta, error)
	Dequeue(string, uid.ID) (*Envelope, error)
	Ack(uid.ID) error
	Reset(uid.ID) error
	Close() error
}

func FromContext

func FromContext(ctx context.Context) Driver

type EnqueueMeta

type EnqueueMeta struct {
	AccumState AccumState
}

type EnqueueOptions

type EnqueueOptions struct {
	AccumTime types.Duration
}

type Envelope

type Envelope struct {
	ID       uid.ID
	Queue    string
	Retry    types.Retry
	Timeout  types.Duration
	Messages []*Message
}

func NewEnvelope

func NewEnvelope() *Envelope

func (*Envelope) AddMessage

func (e *Envelope) AddMessage(m *Message)

func (*Envelope) IsComposite

func (e *Envelope) IsComposite() bool

type Message

type Message struct {
	ContentType string
	Meta        map[string]interface{}
	Body        []byte
}

type MultiDequeuer

type MultiDequeuer interface {
	DequeueAny([]string, uid.ID) (*Envelope, error)
}

type MultiEnqueuer

type MultiEnqueuer interface {
	EnqueueAll([]*Envelope, []*EnqueueOptions) (map[string]*EnqueueMeta, error)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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