compression

package module
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Oct 25, 2022 License: Apache-2.0 Imports: 11 Imported by: 0

README

runsqs-compressor - Contains implementations of runsqs.SQSMessageConsumer and unsqs.SQSMessageProducer that handles sqs message compression and decompression

GoDoc Build Status codecov.io

Contributing

License

This project is licensed under Apache 2.0. See LICENSE.txt for details.

Contributing Agreement

Atlassian requires signing a contributor's agreement before we can accept a patch. If you are an individual you can fill out the individual CLA. If you are contributing on behalf of your company then please fill out the corporate CLA.

Documentation

Overview

Package compression is a generated GoMock package.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewDecompressionMessageConsumer

func NewDecompressionMessageConsumer() func(runsqs.SQSMessageConsumer) runsqs.SQSMessageConsumer

NewDecompressionMessageConsumer returns a function that wraps a `runsqs.SQSMessageConsumer` in a `NewDecompressionMessageConsumer` `runsqs.SQSMessageConsumer`.

Types

type CompressionSQSProducer

type CompressionSQSProducer struct {
	Wrapped runsqs.SQSProducer
}

CompressionSQSProducer compresses the message, and calls the wrapped runsqs.SQSProducer to produce the compressed message. We must base64 encode the compressed message because SQS supports only character data -- valid utf8 -- not raw binary data

func (*CompressionSQSProducer) BatchProduceMessage added in v1.1.0

func (producer *CompressionSQSProducer) BatchProduceMessage(ctx context.Context, messageBatchInput *sqs.SendMessageBatchInput) (*sqs.SendMessageBatchOutput, error)

BatchProduceMessage produces compressed, base64 encoded messages to the configured sqs queue.

func (*CompressionSQSProducer) ProduceMessage

func (producer *CompressionSQSProducer) ProduceMessage(ctx context.Context, messageInput *sqs.SendMessageInput) error

ProduceMessage produces a compressed, base64 encoded message to the configured sqs queue.

func (*CompressionSQSProducer) QueueURL added in v1.0.0

func (producer *CompressionSQSProducer) QueueURL() string

QueueURL retrieves the queue URL used by the wrapped SQS producer.

type DecompressionMessageConsumer

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

DecompressionMessageConsumer a is wrapper around runsqs.SQSMessageConsumer to capture and emit SQS related stats

func (DecompressionMessageConsumer) ConsumeMessage

func (t DecompressionMessageConsumer) ConsumeMessage(ctx context.Context, message *sqs.Message) runsqs.SQSMessageConsumerError

ConsumeMessage base64 decodes the message, and decompresses the message. It then calls the wrapped SQSMessageConsumer

func (DecompressionMessageConsumer) DeadLetter

func (t DecompressionMessageConsumer) DeadLetter(ctx context.Context, message *sqs.Message)

DeadLetter decompresses/decodes the message and calls the wrapped DeadLetter

type DecompressionMessageConsumerComponent

type DecompressionMessageConsumerComponent struct{}

DecompressionMessageConsumerComponent implements the settings.Component interface.

func NewComponent

NewComponent populates default values.

func (*DecompressionMessageConsumerComponent) New

func (c *DecompressionMessageConsumerComponent) New(_ context.Context, conf *DecompressionMessageConsumerConfig) (func(runsqs.SQSMessageConsumer) runsqs.SQSMessageConsumer, error)

New genereates a DecompressionMessageConsumer decorate

func (*DecompressionMessageConsumerComponent) Settings

Settings generates a config populated with defaults.

type DecompressionMessageConsumerConfig

type DecompressionMessageConsumerConfig struct {
}

DecompressionMessageConsumerConfig is the config for creating a DecompressionMessageConsumer

func (*DecompressionMessageConsumerConfig) Name

Name of the config root.

type DecompressionMessageConsumerError

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

DecompressionMessageConsumerError represents an error with DecompressionMessageConsumer This method implements runsqs.SQSMessageConsumerError

func (DecompressionMessageConsumerError) Error

Error returns wrapped error

func (DecompressionMessageConsumerError) IsRetryable

func (e DecompressionMessageConsumerError) IsRetryable() bool

IsRetryable returns false, if decompression failures, it is a permenanet failure

func (DecompressionMessageConsumerError) RetryAfter

RetryAfter returns 0, if decompression failures, it is a permenanet failure

type MockSQSConsumer

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

MockSQSConsumer is a mock of SQSConsumer interface.

func NewMockSQSConsumer

func NewMockSQSConsumer(ctrl *gomock.Controller) *MockSQSConsumer

NewMockSQSConsumer creates a new mock instance.

func (*MockSQSConsumer) EXPECT

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockSQSConsumer) GetSQSMessageConsumer

func (m *MockSQSConsumer) GetSQSMessageConsumer() runsqs.SQSMessageConsumer

GetSQSMessageConsumer mocks base method.

func (*MockSQSConsumer) StartConsuming

func (m *MockSQSConsumer) StartConsuming(ctx context.Context) error

StartConsuming mocks base method.

func (*MockSQSConsumer) StopConsuming

func (m *MockSQSConsumer) StopConsuming(ctx context.Context) error

StopConsuming mocks base method.

type MockSQSConsumerMockRecorder

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

MockSQSConsumerMockRecorder is the mock recorder for MockSQSConsumer.

func (*MockSQSConsumerMockRecorder) GetSQSMessageConsumer

func (mr *MockSQSConsumerMockRecorder) GetSQSMessageConsumer() *gomock.Call

GetSQSMessageConsumer indicates an expected call of GetSQSMessageConsumer.

func (*MockSQSConsumerMockRecorder) StartConsuming

func (mr *MockSQSConsumerMockRecorder) StartConsuming(ctx interface{}) *gomock.Call

StartConsuming indicates an expected call of StartConsuming.

func (*MockSQSConsumerMockRecorder) StopConsuming

func (mr *MockSQSConsumerMockRecorder) StopConsuming(ctx interface{}) *gomock.Call

StopConsuming indicates an expected call of StopConsuming.

type MockSQSMessageConsumer

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

MockSQSMessageConsumer is a mock of SQSMessageConsumer interface.

func NewMockSQSMessageConsumer

func NewMockSQSMessageConsumer(ctrl *gomock.Controller) *MockSQSMessageConsumer

NewMockSQSMessageConsumer creates a new mock instance.

func (*MockSQSMessageConsumer) ConsumeMessage

ConsumeMessage mocks base method.

func (*MockSQSMessageConsumer) DeadLetter

func (m *MockSQSMessageConsumer) DeadLetter(ctx context.Context, message *sqs.Message)

DeadLetter mocks base method.

func (*MockSQSMessageConsumer) EXPECT

EXPECT returns an object that allows the caller to indicate expected use.

type MockSQSMessageConsumerError

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

MockSQSMessageConsumerError is a mock of SQSMessageConsumerError interface.

func NewMockSQSMessageConsumerError

func NewMockSQSMessageConsumerError(ctrl *gomock.Controller) *MockSQSMessageConsumerError

NewMockSQSMessageConsumerError creates a new mock instance.

func (*MockSQSMessageConsumerError) EXPECT

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockSQSMessageConsumerError) Error

Error mocks base method.

func (*MockSQSMessageConsumerError) IsRetryable

func (m *MockSQSMessageConsumerError) IsRetryable() bool

IsRetryable mocks base method.

func (*MockSQSMessageConsumerError) RetryAfter

func (m *MockSQSMessageConsumerError) RetryAfter() int64

RetryAfter mocks base method.

type MockSQSMessageConsumerErrorMockRecorder

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

MockSQSMessageConsumerErrorMockRecorder is the mock recorder for MockSQSMessageConsumerError.

func (*MockSQSMessageConsumerErrorMockRecorder) Error

Error indicates an expected call of Error.

func (*MockSQSMessageConsumerErrorMockRecorder) IsRetryable

IsRetryable indicates an expected call of IsRetryable.

func (*MockSQSMessageConsumerErrorMockRecorder) RetryAfter

RetryAfter indicates an expected call of RetryAfter.

type MockSQSMessageConsumerMockRecorder

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

MockSQSMessageConsumerMockRecorder is the mock recorder for MockSQSMessageConsumer.

func (*MockSQSMessageConsumerMockRecorder) ConsumeMessage

func (mr *MockSQSMessageConsumerMockRecorder) ConsumeMessage(ctx, message interface{}) *gomock.Call

ConsumeMessage indicates an expected call of ConsumeMessage.

func (*MockSQSMessageConsumerMockRecorder) DeadLetter

func (mr *MockSQSMessageConsumerMockRecorder) DeadLetter(ctx, message interface{}) *gomock.Call

DeadLetter indicates an expected call of DeadLetter.

type MockSQSProducer

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

MockSQSProducer is a mock of SQSProducer interface.

func NewMockSQSProducer

func NewMockSQSProducer(ctrl *gomock.Controller) *MockSQSProducer

NewMockSQSProducer creates a new mock instance.

func (*MockSQSProducer) BatchProduceMessage added in v1.1.0

func (m *MockSQSProducer) BatchProduceMessage(ctx context.Context, messageBatchInput *sqs.SendMessageBatchInput) (*sqs.SendMessageBatchOutput, error)

BatchProduceMessage mocks base method.

func (*MockSQSProducer) EXPECT

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockSQSProducer) ProduceMessage

func (m *MockSQSProducer) ProduceMessage(ctx context.Context, messageInput *sqs.SendMessageInput) error

ProduceMessage mocks base method.

func (*MockSQSProducer) QueueURL added in v1.0.0

func (m *MockSQSProducer) QueueURL() string

QueueURL mocks base method.

type MockSQSProducerMockRecorder

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

MockSQSProducerMockRecorder is the mock recorder for MockSQSProducer.

func (*MockSQSProducerMockRecorder) BatchProduceMessage added in v1.1.0

func (mr *MockSQSProducerMockRecorder) BatchProduceMessage(ctx, messageBatchInput interface{}) *gomock.Call

BatchProduceMessage indicates an expected call of BatchProduceMessage.

func (*MockSQSProducerMockRecorder) ProduceMessage

func (mr *MockSQSProducerMockRecorder) ProduceMessage(ctx, messageInput interface{}) *gomock.Call

ProduceMessage indicates an expected call of ProduceMessage.

func (*MockSQSProducerMockRecorder) QueueURL added in v1.0.0

func (mr *MockSQSProducerMockRecorder) QueueURL() *gomock.Call

QueueURL indicates an expected call of QueueURL.

Jump to

Keyboard shortcuts

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