Documentation ¶
Overview ¶
Package consumers contain the domain concept definitions needed to support Magistrala consumer services functionality.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Start ¶
func Start(ctx context.Context, id string, sub messaging.Subscriber, consumer interface{}, configPath string, logger *slog.Logger) error
Start method starts consuming messages received from Message broker. This method transforms messages to SenML format before using MessageRepository to store them.
Types ¶
type AsyncConsumer ¶
type AsyncConsumer interface { // ConsumeAsync method is used to asynchronously consume received messages. ConsumeAsync(ctx context.Context, messages interface{}) // Errors method returns a channel for reading errors which occur during async writes. // Must be called before performing any writes for errors to be collected. // The channel is buffered(1) so it allows only 1 error without blocking if not drained. // The channel may receive nil error to indicate success. Errors() <-chan error }
AsyncConsumer specifies a non-blocking message-consuming API, which can be used for writing data to the DB, publishing messages to broker, sending notifications, or any other asynchronous job.
type BlockingConsumer ¶
type BlockingConsumer interface { // ConsumeBlocking method is used to consume received messages synchronously. // A non-nil error is returned to indicate operation failure. ConsumeBlocking(ctx context.Context, messages interface{}) error }
BlockingConsumer specifies a blocking message-consuming API, which can be used for writing data to the DB, publishing messages to broker, sending notifications... BlockingConsumer implementations might also support concurrent use, but consult implementation for more details.
Directories ¶
Path | Synopsis |
---|---|
Package notifiers contain the domain concept definitions needed to support Magistrala notifications functionality.
|
Package notifiers contain the domain concept definitions needed to support Magistrala notifications functionality. |
api
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
|
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations. |
mocks
Package mocks contains mocks for testing purposes.
|
Package mocks contains mocks for testing purposes. |
postgres
Package postgres contains repository implementations using PostgreSQL as the underlying database.
|
Package postgres contains repository implementations using PostgreSQL as the underlying database. |
tracing
Package tracing provides tracing instrumentation for Magistrala WebSocket adapter service.
|
Package tracing provides tracing instrumentation for Magistrala WebSocket adapter service. |
Package writers contain the domain concept definitions needed to support Magistrala writer services functionality.
|
Package writers contain the domain concept definitions needed to support Magistrala writer services functionality. |
api
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
|
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations. |
postgres
Package postgres contains repository implementations using Postgres as the underlying database.
|
Package postgres contains repository implementations using Postgres as the underlying database. |
timescale
Package timescale contains repository implementations using Timescale as the underlying database.
|
Package timescale contains repository implementations using Timescale as the underlying database. |