logo
#[non_exhaustive]
pub enum ErrorKind {
Show 37 variants Forbidden, UnknownToken { soft_logout: bool, }, MissingToken, BadJson, NotJson, NotFound, LimitExceeded { retry_after_ms: Option<Duration>, }, Unknown, Unrecognized, Unauthorized, UserDeactivated, UserInUse, InvalidUsername, RoomInUse, InvalidRoomState, ThreepidInUse, ThreepidNotFound, ThreepidAuthFailed, ThreepidDenied, ServerNotTrusted, UnsupportedRoomVersion, IncompatibleRoomVersion { room_version: RoomVersionId, }, BadState, GuestAccessForbidden, CaptchaNeeded, CaptchaInvalid, MissingParam, InvalidParam, TooLarge, Exclusive, ResourceLimitExceeded { admin_contact: String, }, CannotLeaveServerNoticeRoom, WeakPassword, UnableToAuthorizeJoin, UnableToGrantJoin, NotYetUploaded, CannotOverwriteMedia, // some variants omitted
}
Available on (crate features client-api-c or client-api-s) and (crate features client or server) and crate feature api only.
Expand description

An enum for the error kind.

Items may contain additional information.

Variants (Non-exhaustive)

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.

Forbidden

M_FORBIDDEN

UnknownToken

Fields

soft_logout: bool

If this is true, the client can acquire a new access token by specifying the device ID it is already using to the login API.

For more information, see the spec.

M_UNKNOWN_TOKEN

MissingToken

M_MISSING_TOKEN

BadJson

M_BAD_JSON

NotJson

M_NOT_JSON

NotFound

M_NOT_FOUND

LimitExceeded

Fields

retry_after_ms: Option<Duration>

How long a client should wait in milliseconds before they can try again.

M_LIMIT_EXCEEDED

Unknown

M_UNKNOWN

Unrecognized

M_UNRECOGNIZED

Unauthorized

M_UNAUTHORIZED

UserDeactivated

M_USER_DEACTIVATED

UserInUse

M_USER_IN_USE

InvalidUsername

M_INVALID_USERNAME

RoomInUse

M_ROOM_IN_USE

InvalidRoomState

M_INVALID_ROOM_STATE

ThreepidInUse

M_THREEPID_IN_USE

ThreepidNotFound

M_THREEPID_NOT_FOUND

ThreepidAuthFailed

M_THREEPID_AUTH_FAILED

ThreepidDenied

M_THREEPID_DENIED

ServerNotTrusted

M_SERVER_NOT_TRUSTED

UnsupportedRoomVersion

M_UNSUPPORTED_ROOM_VERSION

IncompatibleRoomVersion

Fields

room_version: RoomVersionId

The room’s version.

M_INCOMPATIBLE_ROOM_VERSION

BadState

M_BAD_STATE

GuestAccessForbidden

M_GUEST_ACCESS_FORBIDDEN

CaptchaNeeded

M_CAPTCHA_NEEDED

CaptchaInvalid

M_CAPTCHA_INVALID

MissingParam

M_MISSING_PARAM

InvalidParam

M_INVALID_PARAM

TooLarge

M_TOO_LARGE

Exclusive

M_EXCLUSIVE

ResourceLimitExceeded

Fields

admin_contact: String

A URI giving a contact method for the server administrator.

M_RESOURCE_LIMIT_EXCEEDED

CannotLeaveServerNoticeRoom

M_CANNOT_LEAVE_SERVER_NOTICE_ROOM

WeakPassword

M_WEAK_PASSWORD

UnableToAuthorizeJoin

M_UNABLE_TO_AUTHORISE_JOIN

UnableToGrantJoin

M_UNABLE_TO_GRANT_JOIN

NotYetUploaded

Available on crate feature unstable-msc2246 only.

FI.MAU.MSC2246_NOT_YET_UPLOADED

CannotOverwriteMedia

Available on crate feature unstable-msc2246 only.

FI.MAU.MSC2246_CANNOT_OVERWRITE_MEDIA

Trait Implementations

Converts this type into a shared reference of the (usually inferred) input type.
Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
Formats the value using the given formatter. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Compare self to key and return true if they are equal.

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more