X-Git-Url: https://code.octet-stream.net/m17rt/blobdiff_plain/21b7d95e42fd374a33e0f18d3e3f406642e46322..2798b7a8f62b73aa2a88d4b34e861debd6462015:/m17app/src/adapter.rs diff --git a/m17app/src/adapter.rs b/m17app/src/adapter.rs index 1bc0971..a03cf09 100644 --- a/m17app/src/adapter.rs +++ b/m17app/src/adapter.rs @@ -3,10 +3,26 @@ use m17core::protocol::{LsfFrame, PacketType}; use std::sync::Arc; pub trait PacketAdapter: Send + Sync + 'static { - fn adapter_registered(&self, handle: TxHandle); + fn adapter_registered(&self, id: usize, handle: TxHandle); + fn adapter_removed(&self); fn tnc_started(&self); fn tnc_closed(&self); fn packet_received(&self, lsf: LsfFrame, packet_type: PacketType, content: Arc<[u8]>); } -pub trait StreamAdapter: Send + Sync + 'static {} +pub trait StreamAdapter: Send + Sync + 'static { + fn adapter_registered(&self, id: usize, handle: TxHandle); + fn adapter_removed(&self); + fn tnc_started(&self); + fn tnc_closed(&self); + fn stream_began(&self, lsf: LsfFrame); + fn stream_data(&self, frame_number: u16, is_final: bool, data: Arc<[u8; 16]>); + + // TODO + // fn stream_lost(&self); + // fn stream_assembled_text_block() + // fn stream_gnss_data() + // fn stream_extended_callsign_data() + + // fn stream_tx_ended_early(&self); // underrun/overrun +}