pub struct ThunderboltTransport;Expand description
Thunderbolt transport. Same wire protocol as TcpTransport today
(TCP over the Thunderbolt Bridge IP link), but a distinct type so
the symmetric one-sided heap path is the intended interface and so a
future zero-copy Thunderbolt DMA backend can replace the engine
behind the unchanged Transport + SymmetricTransport traits.
Implementations§
Source§impl ThunderboltTransport
impl ThunderboltTransport
Sourcepub fn bind(
rank: u32,
world: u32,
peers: Vec<SocketAddr>,
heap_size: usize,
) -> Result<NetTransport, Error>
pub fn bind( rank: u32, world: u32, peers: Vec<SocketAddr>, heap_size: usize, ) -> Result<NetTransport, Error>
Bind at peers[rank]. The addresses are expected to be on the
Thunderbolt interface (see ThunderboltTransport::looks_like_thunderbolt);
correctness does not depend on it, but bandwidth does.
Sourcepub fn looks_like_thunderbolt(ip: IpAddr) -> bool
pub fn looks_like_thunderbolt(ip: IpAddr) -> bool
Heuristic: is ip plausibly a Thunderbolt Bridge address? macOS
auto-assigns link-local 169.254.0.0/16 to the bridge when no
static IP is configured; static setups commonly use a private
10.0.0.0/8 block. This is advisory only.
Auto Trait Implementations§
impl Freeze for ThunderboltTransport
impl RefUnwindSafe for ThunderboltTransport
impl Send for ThunderboltTransport
impl Sync for ThunderboltTransport
impl Unpin for ThunderboltTransport
impl UnsafeUnpin for ThunderboltTransport
impl UnwindSafe for ThunderboltTransport
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more