pub enum FillError {
EndGroupOverflow {
start_group: u64,
delta: u64,
},
NotAFillParameter(u64),
RepeatedFillParameter(u64),
MalformedValue {
key: u64,
detail: &'static str,
},
NotRoundTrippable(String),
}Expand description
Errors from building a LOCATION_FILTER or a FILL_PARAMETERS value.
Variants§
EndGroupOverflow
StartGroup + EndGroupDelta left the number space.
Section 5.1.2: “If StartGroup + EndGroupDelta exceeds 2^64 - 1, the endpoint MUST close the session with a PROTOCOL_VIOLATION.” A value the peer must close the session over is not a value this endpoint has a way of sending, so it is refused here instead.
NotAFillParameter(u64)
A parameter type Table 6 does not list was put inside FILL_PARAMETERS.
Section 10.2.15: “An endpoint that receives a parameter inside FILL_PARAMETERS that is not listed above MUST close the session with PROTOCOL_VIOLATION.”
RepeatedFillParameter(u64)
The same parameter type was put inside FILL_PARAMETERS twice where its
own definition does not allow repeats.
MalformedValue
A value whose shape does not match the type it was filed under.
NotRoundTrippable(String)
The value this module built is one the codec’s own decoder refuses.
Unreachable unless the encoder here and the decoder in
moqtap-codec have drifted apart, which is what the check exists to
catch: a value that goes out and comes back as a session close is worse
than one that never goes out.
Trait Implementations§
impl Eq for FillError
Source§impl Error for FillError
impl Error for FillError
1.30.0 · 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()