publisher

package
v0.0.0-...-0795aef Latest Latest
Warning

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

Go to latest
Published: Oct 27, 2019 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// 500 records
	LIMIT_RECORDS_PER_REQUEST = 500
	// 1 MB
	LIMIT_SIZE_PER_RECORD = 1000000
	// 5 MB
	LIMIT_SIZE_PER_REQUEST = 5000000
	// 4 MB
	PUBLISH_READINESS_THRESHOLD = 4000000
)

Variables

This section is empty.

Functions

This section is empty.

Types

type KinesisDataStreamsPublisher

type KinesisDataStreamsPublisher struct {
	*kinesis.Kinesis
	// contains filtered or unexported fields
}

KinesisDataStreamsPublisher implements Publisher for KinesisDataStreams

func BuildKinesisDataStreamsPublisher

func BuildKinesisDataStreamsPublisher(target *config.MinerTarget) (*KinesisDataStreamsPublisher, error)

BuildKinesisDataStreamsPublisher builds KinesisDataStreams specific Publisher

func (*KinesisDataStreamsPublisher) GetPosition

func (kp *KinesisDataStreamsPublisher) GetPosition() tracker.Position

GetPosition returns the position of last event in buffer

func (*KinesisDataStreamsPublisher) Publish

Publish publishes events to the destination. KinesisDataStreamsPublisher works like events buffer for performance. it returns bool whether actually call Kinesis PutRecords API or just buffered event in its buffer.

type Publisher

type Publisher interface {
	Publish(event converters.InternalRow) (bool, error)
	GetPosition() tracker.Position
}

Publisher provides event publishing

func BuildPublisher

func BuildPublisher(target *config.MinerTarget) (Publisher, error)

BuildPublisher builds Publisher for abstraction

Jump to

Keyboard shortcuts

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