Skip to main content

Module transport

Module transport 

Source
Available on crate feature transport only.
Expand description

§Transport Abstraction Layer

Pluggable message transport with split sender/receiver traits for type-safe factory construction and runtime transport selection.

§Architecture

TransportSender (object-safe)     TransportReceiver<Token> (generic)
  send(key, payload)                recv(max) -> Vec<Message<Token>>
  close()                           commit(tokens)
  is_healthy()                      close()
  name()                            is_healthy(), name()
        |                                    |
        +-------- Transport (blanket) -------+
  • Output stages (DLQ, forwarding, archiving): use Box<dyn TransportSender>
  • Input stages (receiver, fetcher): use concrete impl TransportReceiver
  • Factory: sender_from_config() returns Box<dyn TransportSender>

§Transport Selection

TransportSendRecvUse Case
KafkaYesYesProduction default, PB/day, persistence
gRPCYesYesLow-latency direct, DFE mesh
MemoryYesYesUnit tests, same-process
FileYesYesDebugging, audit trails, replay
PipeYesYesUnix pipelines, sidecar pattern
HTTPYesYesWebhook delivery, REST ingest
RedisYesYesEdge deployments, lightweight pub/sub

§Example

use hyperi_rustlib::transport::{TransportSender, TransportConfig};

// Factory creates the right backend from config
let sender: Box<dyn TransportSender> = transport::sender_from_config("transport.output").await?;
sender.send("events.land", payload).await;

Re-exports§

pub use codec::CodecError;
pub use codec::FieldRef;
pub use codec::ParsedPayload;
pub use codec::parse;
pub use factory::AnyReceiver;
pub use factory::AnySender;
pub use factory::AnyToken;
pub use routed::RoutedSender;
pub use grpc::GrpcConfig;transport-grpc
pub use grpc::GrpcToken;transport-grpc
pub use grpc::GrpcTransport;transport-grpc
pub use memory::MemoryConfig;transport-memory
pub use memory::MemoryToken;transport-memory
pub use memory::MemoryTransport;transport-memory
pub use pipe::PipeToken;transport-pipe
pub use pipe::PipeTransport;transport-pipe
pub use pipe::PipeTransportConfig;transport-pipe
pub use file::FileToken;transport-file
pub use file::FileTransport;transport-file
pub use file::FileTransportConfig;transport-file
pub use http::HttpToken;transport-http
pub use http::HttpTransport;transport-http
pub use http::HttpTransportConfig;transport-http
pub use redis_transport::RedisToken;transport-redis
pub use redis_transport::RedisTransport;transport-redis
pub use redis_transport::RedisTransportConfig;transport-redis

Modules§

codec
Parse-on-demand codec (Task 0.3a)
factory
Transport factory for runtime transport selection.
filetransport-file
File Transport
filter
Transport Filter Engine
grpctransport-grpc
gRPC Transport
httptransport-http
HTTP Transport
memorytransport-memory
Memory Transport
pipetransport-pipe
Pipe Transport
propagation
Trace Context Propagation
redis_transporttransport-redis
Redis Streams Transport
routed
Per-key routing transport for data originators.

Structs§

FormatDetector
Stateful format detector with auto-detection and locking.
Message
A received message with transport metadata.
Record
One work record: payload + routing + metadata, with no commit token.
RecordMeta
Lean per-record metadata.
RecvBatch
Result of a TransportReceiver::recv call.
RecvLimits
Limits for a single byte-aware TransportReceiver::recv_limited poll.
TransportConfig
Top-level transport configuration.
WorkBatch
The canonical zero-copy block of work records.

Enums§

DetectedFormat
Detected payload format (for stateful detection).
FormatMode
Format detection mode.
FramingError
Failure modes for WorkBatch::from_json_array framing.
PayloadFormat
Payload format (auto-detected or explicit).
SendResult
Result of a send operation.
TransportError
Errors that can occur during transport operations.
TransportType
Transport type selection.

Traits§

CommitToken
Transport-specific token for commit/acknowledgment.
FromCascade
Load a transport config from the cascade under a fixed key.
Transport
Combined transport – implements both send and receive.
TransportBase
Common transport operations shared by senders and receivers.
TransportReceiver
Receive-side transport – generic over commit token type.
TransportSender
Send-side transport.

Functions§

detect_format
Stateless format detection (convenience function).

Type Aliases§

TransportResult
Result type for transport operations.