pub struct CrossProtocolEvent {
pub source_protocol: ProtocolKind,
pub source_peer: SocketAddr,
pub module: Module,
pub event: VoiceEvent,
pub cached_header: Option<DStarHeader>,
}Expand description
Broadcast envelope pushed onto the Reflector’s cross-protocol
voice bus when cross_protocol_forwarding is enabled.
Each inbound voice frame on any endpoint produces one
CrossProtocolEvent. Every other endpoint subscribes to the
broadcast and re-encodes the event via transcode_voice in
its own protocol before sending to its module members.
Fields§
§source_protocol: ProtocolKindWhich protocol the source endpoint speaks.
source_peer: SocketAddrWhich peer originated the frame (filtered out of the recipient list on all endpoints, same as within-protocol fan-out).
module: ModuleWhich module the originator is on.
event: VoiceEventThe decoded voice event.
cached_header: Option<DStarHeader>The cached header for this stream, if any. Required for
DCS transcoding but optional for DPlus/DExtra.
Trait Implementations§
Source§impl Clone for CrossProtocolEvent
impl Clone for CrossProtocolEvent
Source§fn clone(&self) -> CrossProtocolEvent
fn clone(&self) -> CrossProtocolEvent
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for CrossProtocolEvent
impl RefUnwindSafe for CrossProtocolEvent
impl Send for CrossProtocolEvent
impl Sync for CrossProtocolEvent
impl Unpin for CrossProtocolEvent
impl UnwindSafe for CrossProtocolEvent
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more