#[non_exhaustive]pub enum Error {
Show 14 variants
MessageParse {
what: MessageKind,
source: Box<dyn Error + Send + Sync>,
},
MessageWrite(WriteError),
MethodNotValidInState {
method: Method,
state: SessionState,
},
MissingCSeq,
TransportParse(String),
HeaderSerialize(String),
SessionParse(String),
InterleavedFrame(String),
Auth(Error),
MissingAuthChallenge,
Io {
context: IoContext,
source: Error,
},
Timeout {
what: &'static str,
},
Tls {
server_name: String,
source: Box<dyn Error + Send + Sync>,
},
SessionNotFound {
method: Method,
},
}Expand description
Errors produced by the RTSP session engine.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
MessageParse
An RTSP message could not be parsed or framed; source carries the
codec’s or the framing check’s own error.
Fields
what: MessageKindWhat was being parsed.
MessageWrite(WriteError)
The RTSP message could not be serialized by the underlying codec.
MethodNotValidInState
A method was invoked (client) or received (server) that is not permitted
in the current session state. The server maps this to 455 Method Not Valid In This State (RFC 2326 §11.3.6, Appendix A).
Fields
state: SessionStateThe state the object was in when the method was attempted.
MissingCSeq
A response arrived with no parseable CSeq header.
TransportParse(String)
The Transport header value could not be parsed per RFC 2326 §12.39.
HeaderSerialize(String)
A header value could not be serialized safely (control character in a value, or a name that is not an RFC 2326 §15.1 token / session-id character).
SessionParse(String)
The Session header value could not be parsed per RFC 2326 §12.37.
InterleavedFrame(String)
An interleaved $ frame was malformed (RFC 2326 §10.12).
Auth(Error)
Authentication failed: no credentials were configured, the challenge could not be parsed, or the digest computation failed (RFC 2326 §14).
MissingAuthChallenge
The server answered 401 Unauthorized without a WWW-Authenticate
challenge, so there is nothing to answer (RFC 2326 §14).
Io
A socket IO operation failed in the async adapter (feature tokio).
Timeout
A bounded wait in the async adapter expired (feature tokio).
Tls
The server name for an rtsps:// connection is not a valid TLS server
name (feature tls).
Fields
SessionNotFound
The server answered 454 Session Not Found (RFC 2326 §11.3.5) to a
request on our session — the session is gone (timed out, or torn down
server-side), so the caller must re-SETUP. Surfaced by the send-only
push drain (a GET_PARAMETER keepalive is the usual trigger) instead
of being silently discarded.
Trait Implementations§
Source§impl Error for Error
impl Error for Error
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()