Categorygithub.com/aws/go-kafka-event-source/streams
modulepackage
1.0.6
Repository: https://github.com/aws/go-kafka-event-source.git
Documentation: pkg.go.dev

# Packages

package "sak" (Swiss Army knife) provides some basic util functions.
No description provided by the author

# Functions

Creates an AsyncJobScheduler which is tied to the RunStatus of EventSource.
A shortcut method for createing a ChangeLogEntry with a value endcoded using the provided codec.
No description provided by the author
A shortcut method for createing a ChangeLogEntry with a json endcoded value.
Creates all necessary topics in the Kafka appropriate clusters as defined by Source.
The default DeserializationErrorHandler.
The default ProcessingErrorHandler.
The default and recommended TxnErrorHandler.
Deletes all topics associated with a Source.
A convenience function for encoding an item into a ChangeLogEntry suitable writing to a StateStore Please not that the Key on the entry will be left uninitialized.
Creates an IncrementalRebalancer suitatble for use by the kgo Kafka driver.
Initializes the GKES logger.
A convenience function for decoding an IncomingRecord.
A convenience function for encoding an item into a Record suitable for sending to a producer Please not that the Key on the record will be left uninitialized.
A convenience function for creating unit tests for an EventContext from an incoming Kafka Record.
A convenience function for creating unit tests for an EventContext from an interjection.
Create a new AsynBatcher.
Creates an AsyncJobScheduler which will continue to run while runStatus.Running().
Creates a container for BatchItems and ties them to an EventContext.
Provides similar functionality to [AsyncBatcher], but in the context of producing Kafka records.
No description provided by the author
NewClient creates a kgo.Client from the options retuned from the provided [Cluster] and addtional `options`.
Create an EventSource.
Creates a NewGlobalChangeLog consumer and forward all records to `receiver`.
Creates a NewGlobalChangeLog consumer and forward all records to `receiver`.
A kgo compatible partitioner which respects Record partitions that are manually assigned.
A kgo compatible partitioner which respects Record partitions that are manually assigned.
Create a new Producer.
No description provided by the author
Returns a new, empty TopicPartitionSet.
A convenience method to avoid chick-egg scenarios when initializing an EventSource.
Registers eventType with a transformer (usuall a codec.Codec) with the supplied EventProcessor.
A convenience function provided in case you are working with a raw kgo producer and want to integrate with streams.
WrapLogger allows GKES to emit logs at a higher level than your own Logger.

# Constants

No description provided by the author
No description provided by the author
No description provided by the author
Complete signals the EventSource that the event or interjection is completely processed.
Instructs GKES to ignore any error stateand continue processing as normal.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Signifies that the consumer should no longer continue processing events.
Instructs GKES to immediately stop processing and the consumer to immediately leave the group.
Signifies that the consumer should panic.
As the name implies, the application will fatally exit.
No description provided by the author
No description provided by the author
Incomplete signals the EventSource that the event or interjection is still ongoing, and that your application promises to fulfill the EventContext in the future.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
let's keep it small.
No description provided by the author
No description provided by the author
No description provided by the author

# Variables

Convenience codec for working with raw `[]byte`s.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Convenience codec for working with int32 types Will never induce an error unless there is an OOM condition, so they are safe to ignore on Encode/Decode.
Convenience codec for working with int64 types Will never induce an error unless there is an OOM condition, so they are safe to ignore on Encode/Decode.
Convenience codec for working with int types.
A convenience Codec for integers where the encoded value is suitable for sorting in data structure which use []byte as keys (such as an LSM based db like BadgerDB or RocksDB).
No description provided by the author
Convenience codec for working with strings.
No description provided by the author

# Structs

AsyncBatcher performs a similar function to the [AsyncJobScheduler], but is intended for performing actions for multiple events at a time.
No description provided by the author
The AsyncJobScheduler provides a generic work scheduler/job serializer which takes a key/value as input via Schedule.
No description provided by the author
No description provided by the author
No description provided by the author
ChangeLogEntry represents a Kafka record which wil be produced to the StateStore for your EventSource.
No description provided by the author
EosDiagarm On-Deck Txn Pending Txn Channel Commit Go-Routine ┌───────────┐ ┌─────────────────┐ ┌─────────────────────────────────────┐ │ EventCtx │ │ Pending Txn(s) │ │ Committing Txn │ │ Offset: 7 │ │ ┌───────────┐ │ │ ┌───────────┐ │ ├───────────┤ │ │ EventCtx │ │ │ │ EventCtx │ 1: Receive Txn │ │ EventCtx │ │ │ Offset: 4 │ │ │ │ Offset: 1 │ │ │ Offset: 8 │ │ ├───────────┤ │ │ ├───────────┤ 2: EventCtx(s).Wait │ ├───────────┼──────────►│ │ EventCtx │ ├─────────►│ │ EventCtx │ │ │ EventCtx │ │ │ Offset: 5 │ │ │ │ Offset: 2 │ 3: Flush Records │ │ Offset: 9 │ │ ├───────────┤ │ │ ├───────────┤ │ └───────────┘ │ │ EventCtx │ │ │ │ EventCtx │ 4: Commit │ ▲ │ │ Offset: 6 │ │ │ │ Offset: 3 │ │ │ │ └───────────┘ │ │ └───────────┘ │ │ └─────────────────┘ └─────────────────────────────────────┘ Incoming EventCtx */.
Contains information about the current event.
EventSource provides an abstraction over raw kgo.Record/streams.IncomingRecord consumption, allowing the use of strongly typed event handlers.
No description provided by the author
A GlobalChangeLog is simply a consumer which continously consumes all partitions within the given topic and forwards all records to it's StateStore.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
A generic JSON en/decoder.
No description provided by the author
No description provided by the author
A simple kafka producer.
No description provided by the author
No description provided by the author
A readonly wrapper of [EventSourceConfig].
No description provided by the author
A convenience data structure.

# Interfaces

No description provided by the author
No description provided by the author
An interface for implementing a resusable Kafka client configuration.
No description provided by the author
No description provided by the author
No description provided by the author
The IncrementalGroupRebalancer interface is an extension to kgo.GroupBalancer.
Defines the interface needed for the IncrementalGroupRebalancer to function.
Provides the interface needed by GKES to intergrate with your loggin mechanism.
No description provided by the author

# Type aliases

A callback invoked when a previously scheduled AsyncJob has been completed.
A handler invoked when a previously scheduled AsyncJob should be performed.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
in structs GKES and how to proceed when an error is encountered.
A callback invoked when a new record has been received from the EventSource, after it has been transformed via IncomingRecordTransformer.
No description provided by the author
Returned by an EventProcessor or Interjector in response to an EventContext.
A callback invoked when a new record has been received from the EventSource.
Defines the method signature needed by the EventSource to perform a stream interjection.
No description provided by the author
The status of a consumer group member.
No description provided by the author
A [Cluster] implementation useful for local development/testing.
SimpleLogger implements Logger and writes to STDOUT.
No description provided by the author
Defines a method which accepts a TopiCPartition argument and returns T.
No description provided by the author