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}