enum TransferState {
Managed(MessagePortRouterId),
TransferInProgress(VecDeque<PortMessageTask>),
CompletionInProgress(MessagePortRouterId),
CompletionFailed(VecDeque<PortMessageTask>),
CompletionRequested(MessagePortRouterId, VecDeque<PortMessageTask>),
}Expand description
The state used by MessagePortInfo to represent the various states the port can be in.
Variants§
Managed(MessagePortRouterId)
The port is currently managed by a given global, identified by its router id.
TransferInProgress(VecDeque<PortMessageTask>)
The port is currently in-transfer, and incoming tasks should be buffered until it becomes managed again.
CompletionInProgress(MessagePortRouterId)
A global has requested the transfer to be completed, it’s pending a confirmation of either failure or success to complete the transfer.
CompletionFailed(VecDeque<PortMessageTask>)
While a completion of a transfer was in progress, the port was shipped, hence the transfer failed to complete. We start buffering incoming messages, while awaiting the return of the previous buffer from the global that failed to complete the transfer.
CompletionRequested(MessagePortRouterId, VecDeque<PortMessageTask>)
While a completion failed, another global requested to complete the transfer. We are still buffering messages, and awaiting the return of the buffer from the global who failed.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for TransferState
impl !RefUnwindSafe for TransferState
impl Send for TransferState
impl !Sync for TransferState
impl Unpin for TransferState
impl UnsafeUnpin for TransferState
impl UnwindSafe for TransferState
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
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>
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