byteor_adapters/
lib.rs

1#![deny(missing_docs)]
2#![deny(unreachable_pub, rust_2018_idioms)]
3#![forbid(unsafe_code)]
4
5//! Enterprise adapters scaffolding.
6//!
7//! Adapters are intentionally *not* part of the OSS core: they encode product/integration policy
8//! (protocols, venues, customer formats, secrets) and therefore live in the enterprise workspace.
9//!
10//! That said, the enterprise runtime needs a real, testable integration boundary so product code
11//! can plug in ingress/egress without leaking dependencies into the OSS crates.
12
13mod core;
14mod grpc;
15mod http;
16mod kafka;
17mod line;
18mod nats;
19mod postgres;
20mod rabbitmq_streams;
21mod redis_streams;
22mod s3;
23mod websocket;
24
25pub use core::{
26    run_single_ring_adapter_loop, run_single_ring_adapter_loop_with_options,
27    run_single_ring_adapter_loop_with_options_and_observer, Adapter, AdapterError,
28    AdapterLoopError, AdapterLoopFailure, AdapterLoopOptions, AdapterLoopStats,
29    AdapterRuntimeStatus, EgressAdapter, IngressAdapter,
30};
31pub use grpc::{GrpcEgress, GrpcIngress};
32pub use http::{HttpEgress, HttpIngress};
33pub use kafka::{KafkaEgress, KafkaIngress};
34pub use line::{LineEgress, LineIngress};
35pub use nats::{NatsEgress, NatsIngress};
36pub use postgres::{PostgresEgress, PostgresIngress, PostgresRowFormat, PostgresWriteMode};
37pub use rabbitmq_stream_client::types::OffsetSpecification as RabbitMqOffsetSpecification;
38pub use rabbitmq_streams::{RabbitMqStreamsEgress, RabbitMqStreamsIngress};
39pub use redis_streams::{RedisStreamsEgress, RedisStreamsIngress};
40pub use s3::{S3Egress, S3Ingress};
41pub use websocket::{WebSocketEgress, WebSocketIngress};
42
43#[cfg(test)]
44mod tests;