pub enum SessionError {
Show 58 variants
SlimChannelClosed,
SlimReception(Status),
MessageError(MessageError),
MissingRemovedParticipantInGroupRemove,
MissingGroupNameInJoinRequest,
PingStateNotInitialized,
MissingChannelName,
SessionTypeUnknown(ProtoSessionType),
SessionMessageInternalUnexpected(Box<SessionMessage>),
SessionMessageTypeUnknown(ProtoSessionMessageType),
MessageTypeUnexpected(Box<ProtoMessage>),
SessionMessageTypeUnexpected(ProtoSessionMessageType),
ParticipantsListQueryFailed,
UnexpectedError {
source: Box<SessionError>,
},
SessionNotFound(u32),
SubscriptionNotFound(Name),
SessionBuilderIncomplete,
MessageLost(u32),
SessionClosed,
ReceiveTimeout,
SessionIdAlreadyUsed(u32),
InvalidSessionId(u32),
MlsOp(MlsError),
Auth(AuthError),
AckReception(String),
SubscriptionAckFailed(SubscriptionAckError),
UnknownDestination(Name),
ParticipantNotFound(Name),
ParticipantAlreadyInGroup(Name),
CannotInviteToP2P,
CannotRemoveFromP2P,
NotInitiator,
SessionControllerSendFailed,
NewSessionSendFailed,
SessionDeleteMessageSendFailed,
ApplicationMessageSendFailed,
SlimMessageSendFailed,
SlimSendFailure {
ctx: Box<ErrorPayload>,
},
SessionDrainingDrop,
SessionAlreadyClosed,
SessionCleanupFailed {
details: String,
},
MessageSendRetryFailed {
id: u32,
},
MessageReceiveRetryFailed {
id: u32,
},
SessionSenderShutdown,
MissingPayload {
context: &'static str,
},
MessageBuild(MessageError),
PayloadExtract {
context: &'static str,
source: MessageError,
},
WelcomeMessageMissingMlsPayload,
InvalidJoinRequestPayload,
ParticipantDisconnected(Name),
MissingParticipantNameOnDisconnection,
TimerNotFound(u32),
ModeratorTaskUnsupportedPhase,
ModeratorTaskUnexpectedTimerId(u32),
ModeratorTaskAddFailed {
source: Box<SessionError>,
},
ModeratorTaskRemoveFailed {
source: Box<SessionError>,
},
ModeratorTaskUpdateFailed {
source: Box<SessionError>,
},
ModeratorTaskCloseFailed {
source: Box<SessionError>,
},
}Variants§
SlimChannelClosed
SlimReception(Status)
MessageError(MessageError)
MissingRemovedParticipantInGroupRemove
MissingGroupNameInJoinRequest
PingStateNotInitialized
MissingChannelName
SessionTypeUnknown(ProtoSessionType)
SessionMessageInternalUnexpected(Box<SessionMessage>)
SessionMessageTypeUnknown(ProtoSessionMessageType)
MessageTypeUnexpected(Box<ProtoMessage>)
SessionMessageTypeUnexpected(ProtoSessionMessageType)
ParticipantsListQueryFailed
UnexpectedError
Fields
§
source: Box<SessionError>SessionNotFound(u32)
SubscriptionNotFound(Name)
SessionBuilderIncomplete
MessageLost(u32)
SessionClosed
ReceiveTimeout
SessionIdAlreadyUsed(u32)
InvalidSessionId(u32)
MlsOp(MlsError)
Auth(AuthError)
AckReception(String)
SubscriptionAckFailed(SubscriptionAckError)
UnknownDestination(Name)
ParticipantNotFound(Name)
ParticipantAlreadyInGroup(Name)
CannotInviteToP2P
CannotRemoveFromP2P
NotInitiator
SessionControllerSendFailed
NewSessionSendFailed
SessionDeleteMessageSendFailed
ApplicationMessageSendFailed
SlimMessageSendFailed
SlimSendFailure
Fields
§
ctx: Box<ErrorPayload>SessionDrainingDrop
SessionAlreadyClosed
SessionCleanupFailed
MessageSendRetryFailed
MessageReceiveRetryFailed
SessionSenderShutdown
MissingPayload
MessageBuild(MessageError)
PayloadExtract
WelcomeMessageMissingMlsPayload
InvalidJoinRequestPayload
ParticipantDisconnected(Name)
MissingParticipantNameOnDisconnection
TimerNotFound(u32)
ModeratorTaskUnsupportedPhase
ModeratorTaskUnexpectedTimerId(u32)
ModeratorTaskAddFailed
Fields
§
source: Box<SessionError>ModeratorTaskRemoveFailed
Fields
§
source: Box<SessionError>ModeratorTaskUpdateFailed
Fields
§
source: Box<SessionError>ModeratorTaskCloseFailed
Fields
§
source: Box<SessionError>Implementations§
Source§impl SessionError
impl SessionError
pub fn build_error(err: MessageError) -> Self
pub fn extract_error(context: &'static str, err: MessageError) -> Self
pub fn cleanup_failed<E: Display>(e: E) -> Self
pub fn send_retry_failed(id: u32) -> Self
pub fn receive_retry_failed(id: u32) -> Self
Sourcepub fn session_context(&self) -> Option<&MessageContext>
pub fn session_context(&self) -> Option<&MessageContext>
Extract session context from SlimSendFailure error Returns None if the error is not a SlimSendFailure or if it lacks session context
Sourcepub fn is_command_message_error(&self) -> bool
pub fn is_command_message_error(&self) -> bool
Check if this error is for a command message
Trait Implementations§
Source§impl Debug for SessionError
impl Debug for SessionError
Source§impl Display for SessionError
impl Display for SessionError
Source§impl Error for SessionError
impl Error for SessionError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Source§impl From<AuthError> for SessionError
impl From<AuthError> for SessionError
Source§impl From<MessageError> for SessionError
impl From<MessageError> for SessionError
Source§fn from(source: MessageError) -> Self
fn from(source: MessageError) -> Self
Converts to this type from the input type.
Source§impl From<MlsError> for SessionError
impl From<MlsError> for SessionError
Auto Trait Implementations§
impl Freeze for SessionError
impl !RefUnwindSafe for SessionError
impl Send for SessionError
impl Sync for SessionError
impl Unpin for SessionError
impl UnsafeUnpin for SessionError
impl !UnwindSafe for SessionError
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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<E> ErrorChainExt for Ewhere
E: Error,
impl<E> ErrorChainExt for Ewhere
E: Error,
Source§fn chain(&self) -> DisplayErrorChain<&E>
fn chain(&self) -> DisplayErrorChain<&E>
Provides an fmt::Display implementation for an error as a chain.
Source§fn into_chain(self) -> DisplayErrorChain<E>
fn into_chain(self) -> DisplayErrorChain<E>
Same as
chain, but consumes self.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>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request