Flow Control in Transmissions

Flow control processors enable dynamic routing, conditional logic, and nested execution within transmission pipelines. These processors allow transmissions to make decisions about their execution path based on message content or configuration.

Overview

The Transmissions framework provides several flow control mechanisms:

GOTO Processor

The GOTO processor enables dynamic transmission execution, allowing one transmission to trigger another based on configuration or message properties.

Key Features

Use Cases

Choice Processor

The Choice processor provides conditional logic within transmission pipelines, enabling branching behavior based on message properties.

Key Features

Use Cases

EntryTransmission System

The EntryTransmission type controls which transmissions execute automatically when an app starts.

Key Features

Use Cases

Design Principles

Modularity

Flow control processors are designed as discrete, composable units that can be combined to create complex behaviors.

Message-Driven

All flow control decisions are based on message content, configuration, or both, ensuring predictable and testable behavior.

Backward Compatibility

New flow control features maintain compatibility with existing transmission definitions and execution patterns.

Extensibility

The flow control architecture supports adding new processors and control mechanisms without breaking existing functionality.

Best Practices

Clear Naming

Use descriptive transmission and processor names that indicate their role in the flow.

Minimal Nesting

Avoid deep nesting of GOTOs to maintain readability and debuggability.

Property Conventions

Establish consistent property naming patterns for flow control decisions.

Error Handling

Design flow control with failure modes in mind, including fallback paths and error conditions.

Testing

Create focused test cases for each flow control scenario, including edge cases and error conditions.