connectors

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: May 29, 2019 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNoStore = errors.New("result store not found within batch context")

ErrNoStore is an error returned by components attempting to write a message batch to a ResultStore but are unable to locate the store within the batch context.

Functions

This section is empty.

Types

type FuncReader

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

FuncReader is a reader implementation that simply wraps a closure providing message contents.

func NewFuncReader

func NewFuncReader(read func() ([][]byte, error)) FuncReader

NewFuncReader returns a FuncReader.

func (FuncReader) Acknowledge

func (f FuncReader) Acknowledge(err error) error

Acknowledge is a noop.

func (FuncReader) CloseAsync

func (f FuncReader) CloseAsync()

CloseAsync is a noop.

func (FuncReader) Connect

func (f FuncReader) Connect() error

Connect is a noop.

func (FuncReader) Read

func (f FuncReader) Read() (types.Message, error)

Read returns a message result from the provided closure.

func (FuncReader) WaitForClose

func (f FuncReader) WaitForClose(time.Duration) error

WaitForClose is a noop.

type ResultStore

type ResultStore interface {
	// Add a message to the store. The message will be deep copied and have its
	// context wiped before storing, and is therefore safe to add even when
	// ownership of the message is about to be yielded.
	Add(msg types.Message)

	// Get the stored slice of messages.
	Get() []types.Message
}

ResultStore is a type designed to be propagated along with a message as a way for an output destination to store the final version of the message payload as it saw it.

It is intended that this structure is placed within a message via an attached context, usually under the key 'result_store'.

func NewResultStore

func NewResultStore() ResultStore

NewResultStore returns an implementation of ResultStore.

type ResultStoreKeyType

type ResultStoreKeyType int

ResultStoreKeyType is the recommended type of a context key for adding ResultStores to a message context.

const ResultStoreKey ResultStoreKeyType = iota

ResultStoreKey is the recommended key value for adding ResultStores to a message context.

type StoreWriter

type StoreWriter struct{}

StoreWriter is a writer implementation that adds messages to a ResultStore located in the context of the first message part of each batch.

func (StoreWriter) CloseAsync

func (s StoreWriter) CloseAsync()

CloseAsync is a noop.

func (StoreWriter) Connect

func (s StoreWriter) Connect() error

Connect is a noop.

func (StoreWriter) WaitForClose

func (s StoreWriter) WaitForClose(time.Duration) error

WaitForClose is a noop.

func (StoreWriter) Write

func (s StoreWriter) Write(msg types.Message) error

Write a message batch to an OutputStore located in the first message of the batch.

Jump to

Keyboard shortcuts

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