pub enum ServerCompatibility {
Supported,
NewerThanKnown,
UnknownVersion,
TooOld {
minimum: String,
},
}Expand description
The verdict on a server’s version.
Deliberately three states rather than a boolean. “Unrecognised” is not a failure: a server newer than this build resolves forward and works, and refusing it would make every JellyTau release expire the moment the server upgrades. Only a server below the supported floor is refused, where failure is certain rather than merely likely.
TRACES: UR-085 | DR-286
Variants§
Supported
A generation this build knows and was tested against.
NewerThanKnown
Parsed, but newer than anything this build knows. Treated as the newest known generation; everything works, and this exists so the UI may mention it rather than so it must.
UnknownVersion
The version string could not be parsed. Treated as supported — we do not refuse a server on the strength of not understanding its version string.
TooOld
Below the supported floor. This one is a refusal.
Trait Implementations§
Source§impl Clone for ServerCompatibility
impl Clone for ServerCompatibility
Source§fn clone(&self) -> ServerCompatibility
fn clone(&self) -> ServerCompatibility
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ServerCompatibility
impl Debug for ServerCompatibility
Source§impl<'de> Deserialize<'de> for ServerCompatibility
impl<'de> Deserialize<'de> for ServerCompatibility
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl NamedType for ServerCompatibility
impl NamedType for ServerCompatibility
fn sid() -> SpectaID
Source§fn named_data_type(
type_map: &mut TypeCollection,
generics: &[DataType],
) -> NamedDataType
fn named_data_type( type_map: &mut TypeCollection, generics: &[DataType], ) -> NamedDataType
Source§fn definition_named_data_type(type_map: &mut TypeCollection) -> NamedDataType
fn definition_named_data_type(type_map: &mut TypeCollection) -> NamedDataType
Source§impl PartialEq for ServerCompatibility
impl PartialEq for ServerCompatibility
Source§fn eq(&self, other: &ServerCompatibility) -> bool
fn eq(&self, other: &ServerCompatibility) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for ServerCompatibility
impl Serialize for ServerCompatibility
Source§impl Type for ServerCompatibility
impl Type for ServerCompatibility
Source§fn inline(type_map: &mut TypeCollection, generics: Generics<'_>) -> DataType
fn inline(type_map: &mut TypeCollection, generics: Generics<'_>) -> DataType
Source§fn reference(type_map: &mut TypeCollection, generics: &[DataType]) -> Reference
fn reference(type_map: &mut TypeCollection, generics: &[DataType]) -> Reference
definition will be put into the type map.impl Eq for ServerCompatibility
impl Flatten for ServerCompatibility
impl StructuralPartialEq for ServerCompatibility
Auto Trait Implementations§
impl Freeze for ServerCompatibility
impl RefUnwindSafe for ServerCompatibility
impl Send for ServerCompatibility
impl Sync for ServerCompatibility
impl Unpin for ServerCompatibility
impl UnsafeUnpin for ServerCompatibility
impl UnwindSafe for ServerCompatibility
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<'de, D, R> CommandArg<'de, R> for Dwhere
D: Deserialize<'de>,
R: Runtime,
impl<'de, D, R> CommandArg<'de, R> for Dwhere
D: Deserialize<'de>,
R: Runtime,
§fn from_command(command: CommandItem<'de, R>) -> Result<D, InvokeError>
fn from_command(command: CommandItem<'de, R>) -> Result<D, InvokeError>
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> FunctionArg for Twhere
T: Type,
impl<T> FunctionArg for Twhere
T: Type,
§fn to_datatype(type_map: &mut TypeCollection) -> Option<DataType>
fn to_datatype(type_map: &mut TypeCollection) -> Option<DataType>
DataType]. Read more