Skip to main content

mctx_core/raw/
report.rs

1use crate::config::{OutgoingInterface, PublicationAddressFamily};
2use crate::raw::RawPublicationId;
3use std::net::IpAddr;
4
5/// Result of one raw multicast send call.
6#[derive(Debug, Clone, Copy, PartialEq, Eq)]
7pub struct RawSendReport {
8    /// Publication used for the send.
9    pub publication_id: RawPublicationId,
10    /// Parsed IP address family.
11    pub family: PublicationAddressFamily,
12    /// Source address parsed from the supplied datagram.
13    pub source_ip: Option<IpAddr>,
14    /// Destination address parsed from the supplied datagram.
15    pub destination_ip: Option<IpAddr>,
16    /// IPv4 protocol or IPv6 next-header value from the supplied datagram.
17    pub ip_protocol: Option<u8>,
18    /// Complete IP datagram length accepted by the backend.
19    pub bytes_sent: usize,
20    /// Local address used to select the egress interface, if configured.
21    pub local_bind_addr: Option<IpAddr>,
22    /// Caller-provided outgoing-interface selector.
23    pub outgoing_interface: Option<OutgoingInterface>,
24    /// Resolved outgoing interface index, if known.
25    pub outgoing_interface_index: Option<u32>,
26}