pub struct Transmit<T>{
pub data: T,
pub transport: TransportType,
pub from: SocketAddr,
pub to: SocketAddr,
}Expand description
A piece of data that needs to, or has been transmitted
Fields§
§data: TThe data blob
transport: TransportTypeThe transport for the transmission
from: SocketAddrThe source address of the transmission
to: SocketAddrThe destination address of the transmission
Implementations§
Source§impl<T> Transmit<T>
impl<T> Transmit<T>
Sourcepub fn new(
data: T,
transport: TransportType,
from: SocketAddr,
to: SocketAddr,
) -> Transmit<T>
pub fn new( data: T, transport: TransportType, from: SocketAddr, to: SocketAddr, ) -> Transmit<T>
Construct a new Transmit with the specifid data and 5-tuple.
Sourcepub fn reinterpret_data<O, F>(self, f: F) -> Transmit<O>
pub fn reinterpret_data<O, F>(self, f: F) -> Transmit<O>
Reinterpret the data of a Transmit into a different type.
§Examples
let local_addr = "10.0.0.1:1000".parse().unwrap();
let remote_addr = "10.0.0.2:2000".parse().unwrap();
let slice = [42; 8];
let transmit = Transmit::new(slice.clone(), TransportType::Udp, local_addr, remote_addr);
// change the data type of the `Transmit` into a `Vec<u8>`.
let transmit = transmit.reinterpret_data(|data| data.to_vec());
assert_eq!(transmit.data, slice.as_slice());Trait Implementations§
Auto Trait Implementations§
impl<T> Freeze for Transmit<T>where
T: Freeze,
impl<T> RefUnwindSafe for Transmit<T>where
T: RefUnwindSafe,
impl<T> Send for Transmit<T>where
T: Send,
impl<T> Sync for Transmit<T>where
T: Sync,
impl<T> Unpin for Transmit<T>where
T: Unpin,
impl<T> UnsafeUnpin for Transmit<T>where
T: UnsafeUnpin,
impl<T> UnwindSafe for Transmit<T>where
T: UnwindSafe,
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