1#![cfg_attr(not(feature = "std"), no_std)]
2
3extern crate alloc;
10
11pub use cu_fec::{DensityThreshold, EncodingSymbolId, Field, RlcConfig};
12
13#[cfg(feature = "std")]
14mod archive;
15#[cfg(feature = "std")]
16pub use archive::{CaptureArchive, NativeArchive};
17#[cfg(feature = "std")]
18pub mod twin;
19#[cfg(feature = "std")]
20mod twin_session;
21#[cfg(feature = "std")]
22pub use twin_session::{
23 CuTwin, CuTwinBuilder, CuTwinLogReader, CuTwinReader, CuTwinRecordingState, CuTwinStatus,
24 ReceivedStructuredLog,
25};
26
27#[cfg(feature = "std")]
29pub mod telemetry;
30
31pub mod capture;
32mod copper;
33mod error;
34pub mod feedback;
35mod manifest;
36mod object;
37mod pacing;
38mod record;
39mod recovery;
40mod rlc;
41mod router;
42mod sender;
43mod stream;
44#[cfg(feature = "std")]
45pub mod structured;
46mod wire;
47#[cfg(feature = "std")]
48mod worker;
49#[cfg(feature = "std")]
50pub use structured::StructuredLogStream;
51#[cfg(feature = "std")]
52pub use worker::{
53 ScheduledCopperListSink, ScheduledKeyFrameSink, ScheduledStructuredLogSink, SenderMonitor,
54 SenderSnapshot, scheduled_feedback_sinks, scheduled_sinks,
55};
56
57#[cfg(feature = "test-utils")]
62pub mod test_support;
63
64pub use copper::{decode_copperlist, encode_copperlist, encode_copperlist_record_into};
65pub use error::{Error, Result};
66#[cfg(feature = "std")]
67pub use manifest::new_session_id;
68pub use manifest::{
69 ApplicationOutputSchema, ApplicationSchema, LogStreamPlan, ReceiverRequirements,
70 ResolvedContinuousFec, ResolvedObjectFec, ResolvedRlcField, SessionManifest,
71};
72pub use object::{
73 FiniteObjectDecoder, FiniteObjectEncoder, FiniteObjectLimits, FiniteObjectRecoveryStats,
74 FiniteObjectSenderConfig,
75};
76pub use pacing::{PacingConfig, RECOVERY_REPEAT_INTERVAL, SenderCore, SenderStats};
77pub use record::{DecodedRecord, RecordKind, decode_record, encode_record};
78pub use recovery::{
79 RecoveryPoint, decode_keyframe, decode_recovery_point, encode_keyframe,
80 encode_keyframe_and_recovery_point, encode_recovery_point,
81};
82pub use rlc::{
83 ContinuousDecoder, ContinuousEncoder, ContinuousReceiveEvent, ContinuousRecoveryStats,
84 CopperListGap, GapReason, ReceiveError, ReceiverLimits, ReceiverOccupancy, RecoveredRecord,
85 StreamIdentity,
86};
87pub use router::{
88 ReceivedManifest, SessionEvent, SessionEventRef, SessionRouter, SessionRouterLimits,
89 SessionRouterStats,
90};
91pub use sender::{
92 ContinuousCopperListSink, ContinuousSenderConfig, ContinuousSenderStats,
93 DEFAULT_MAX_SYMBOL_SIZE, DEFAULT_MAX_WINDOW_SYMBOLS, DefaultContinuousCopperListSink,
94 LogStreamSenderConfig, RecoveryPointSink, RecoverySenderConfig, RecoverySenderStats,
95};
96pub use stream::{
97 CuFeedbackRx, CuFeedbackTx, CuStreamRx, CuStreamRxError, CuStreamTx, CuStreamTxError, OneWay,
98 SeparateFeedback,
99};
100pub use wire::{
101 FecScheme, FecSymbolKind, Lane, PACKET_HEADER_LEN, WireHeader, WirePacket, WirePacketRef,
102 encode_packet_into,
103};