Documentation ¶
Overview ¶
Package pure contains all component implementations that are pure, in that they do not interact with external systems. This includes all base component types such as brokers and is likely necessary as a base for all builds.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // ErrSwitchNoConditionMet is returned when a message does not match any // output conditions. ErrSwitchNoConditionMet = errors.New("no switch output conditions were met by message") // ErrSwitchNoCasesMatched is returned when a message does not match any // output cases. ErrSwitchNoCasesMatched = errors.New("no switch cases were matched by message") // ErrSwitchNoOutputs is returned when creating a switchOutput type with less than // 2 outputs. ErrSwitchNoOutputs = errors.New("attempting to create switch with fewer than 2 cases") )
var ( // ErrBrokerNoInputs is returned when creating a broker with zero inputs. ErrBrokerNoInputs = errors.New("attempting to create broker input type with no inputs") )
var ( // ErrBrokerNoOutputs is returned when creating a Broker type with zero // outputs. ErrBrokerNoOutputs = errors.New("attempting to create broker output type with no outputs") )
Functions ¶
func RetryOutputIndefinitely ¶
func RetryOutputIndefinitely(mgr bundle.NewManagement, wrapped output.Streamed) (output.Streamed, error)
RetryOutputIndefinitely returns a wrapped variant of the provided output where send errors downstream are automatically caught and retried rather than propagated upstream as nacks.
Types ¶
type Branch ¶
type Branch struct {
// contains filtered or unexported fields
}
Branch contains conditions and maps for transforming a batch of messages into a subset of request messages, and mapping results from those requests back into the original message batch.
func (*Branch) CloseAsync ¶
func (b *Branch) CloseAsync()
CloseAsync shuts down the processor and stops processing requests.
func (*Branch) ProcessMessage ¶
ProcessMessage applies the processor to a message, either creating >0 resulting messages or a response to be sent back to the message source.
type CacheWriter ¶
type CacheWriter struct {
// contains filtered or unexported fields
}
CacheWriter implements an output writer for caches.
func NewCacheWriter ¶
func NewCacheWriter(conf output.CacheConfig, mgr bundle.NewManagement, log log.Modular) (*CacheWriter, error)
NewCacheWriter creates a writer for cache the output plugin.
func (*CacheWriter) ConnectWithContext ¶
func (c *CacheWriter) ConnectWithContext(ctx context.Context) error
ConnectWithContext does nothing.
func (*CacheWriter) WaitForClose ¶
func (c *CacheWriter) WaitForClose(time.Duration) error
WaitForClose does nothing.
func (*CacheWriter) WriteWithContext ¶
WriteWithContext attempts to store a message within a cache.
type SyncResponseWriter ¶
type SyncResponseWriter struct{}
SyncResponseWriter is a writer implementation that adds messages to a ResultStore located in the context of the first message part of each batch. This is essentially a mechanism that returns the result of a pipeline directly back to the origin of the message.
func (SyncResponseWriter) CloseAsync ¶
func (s SyncResponseWriter) CloseAsync()
CloseAsync is a noop.
func (SyncResponseWriter) ConnectWithContext ¶
func (s SyncResponseWriter) ConnectWithContext(ctx context.Context) error
ConnectWithContext is a noop.
func (SyncResponseWriter) WaitForClose ¶
func (s SyncResponseWriter) WaitForClose(time.Duration) error
WaitForClose is a noop.
func (SyncResponseWriter) WriteWithContext ¶
WriteWithContext writes a message batch to a ResultStore located in the first message of the batch.
type Workflow ¶
type Workflow struct {
// contains filtered or unexported fields
}
Workflow is a processor that applies a list of child processors to a new payload mapped from the original, and after processing attempts to overlay the results back onto the original payloads according to more mappings.
func NewWorkflow ¶
func NewWorkflow(conf processor.WorkflowConfig, mgr bundle.NewManagement) (*Workflow, error)
NewWorkflow instanciates a new workflow processor.
func (*Workflow) CloseAsync ¶
func (w *Workflow) CloseAsync()
CloseAsync shuts down the processor and stops processing requests.
func (*Workflow) ProcessMessage ¶
ProcessMessage applies workflow stages to each part of a message type.
Source Files ¶
- bloblang_string.go
- bloblang_time.go
- buffer_memory.go
- buffer_none.go
- buffer_system_window.go
- cache_memory.go
- cache_multilevel.go
- input_broker.go
- input_broker_fan_in.go
- input_generate.go
- input_inproc.go
- input_read_until.go
- input_resource.go
- input_sequence.go
- metrics_logger.go
- metrics_none.go
- output_broker.go
- output_broker_fan_out.go
- output_broker_fan_out_sequential.go
- output_broker_greedy.go
- output_broker_round_robin.go
- output_cache.go
- output_drop.go
- output_drop_on.go
- output_fallback.go
- output_inproc.go
- output_reject.go
- output_resource.go
- output_retry.go
- output_switch.go
- output_sync_response.go
- package.go
- processor_archive.go
- processor_bloblang.go
- processor_bounds_check.go
- processor_branch.go
- processor_cache.go
- processor_cached.go
- processor_catch.go
- processor_compress.go
- processor_decompress.go
- processor_dedupe.go
- processor_for_each.go
- processor_grok.go
- processor_group_by.go
- processor_group_by_value.go
- processor_insert_part.go
- processor_jmespath.go
- processor_jq.go
- processor_jsonschema.go
- processor_log.go
- processor_mapping.go
- processor_metric.go
- processor_mutation.go
- processor_noop.go
- processor_parallel.go
- processor_parse_log.go
- processor_protobuf.go
- processor_rate_limit.go
- processor_resource.go
- processor_select_parts.go
- processor_sleep.go
- processor_split.go
- processor_switch.go
- processor_sync_response.go
- processor_try.go
- processor_unarchive.go
- processor_while.go
- processor_workflow.go
- processor_workflow_branch_map.go
- rate_limit_local.go
- tracer_none.go