pub struct MultiNodeOopController { /* private fields */ }Expand description
Out-of-process barrier controller. Bind it on the test driver,
then point the children at local_addr() (e.g. via env var).
Implementations§
Source§impl MultiNodeOopController
impl MultiNodeOopController
Sourcepub async fn start(expected_nodes: usize) -> Result<Self, MultiNodeOopError>
pub async fn start(expected_nodes: usize) -> Result<Self, MultiNodeOopError>
Start the controller with the expected node count. Listens on
127.0.0.1:0 (kernel-assigned port). The accepted address can
be read via local_addr().
pub fn local_addr(&self) -> SocketAddr
Sourcepub async fn timeout_barrier(
&self,
label: &str,
timeout: Duration,
) -> Result<usize, MultiNodeOopError>
pub async fn timeout_barrier( &self, label: &str, timeout: Duration, ) -> Result<usize, MultiNodeOopError>
Time-bound a label: if the requested label has not been
reached by timeout, every connected child waiter receives
TIMEOUT label. Returns the count of arrivals when the timer
fired.
Auto Trait Implementations§
impl Freeze for MultiNodeOopController
impl !RefUnwindSafe for MultiNodeOopController
impl Send for MultiNodeOopController
impl Sync for MultiNodeOopController
impl Unpin for MultiNodeOopController
impl UnsafeUnpin for MultiNodeOopController
impl !UnwindSafe for MultiNodeOopController
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