pub struct Capabilities { /* private fields */ }Expand description
Bitmask of capabilities supported by the server.
Exchanged in the server handshake as a little-endian u64. Unknown bits
may be defined by future minor protocol versions; clients must ignore
them, and encode/decode preserves them.
Implementations§
Source§impl Capabilities
impl Capabilities
Sourcepub const PreloadCheck: Capabilities
pub const PreloadCheck: Capabilities
The server supports the preload check message pair.
Sourcepub const fn all_bits() -> Capabilities
pub const fn all_bits() -> Capabilities
Returns a bitmask that contains all values.
This will include bits that do not have any flags.
Use ::all_flags() if you only want to use flags.
Sourcepub const fn all_flags() -> Capabilities
pub const fn all_flags() -> Capabilities
Returns a bitmask that contains all flags.
Sourcepub const fn is_all_bits(&self) -> bool
pub const fn is_all_bits(&self) -> bool
Returns true if the bitmask contains all values.
This will check for bits == !0,
use .is_all_flags() if you only want to check for all flags
Sourcepub const fn is_all_flags(&self) -> bool
pub const fn is_all_flags(&self) -> bool
Returns true if the bitmask contains all flags.
This will fail if any unused bit is set,
consider using .truncate() first.
Sourcepub const fn all() -> Capabilities
👎Deprecated: Please use the ::all_bits() constructor
pub const fn all() -> Capabilities
Please use the ::all_bits() constructor
Returns a bitmask that contains all values.
This will include bits that do not have any flags.
Use ::all_flags() if you only want to use flags.
Sourcepub const fn is_all(&self) -> bool
👎Deprecated: Please use the .is_all_bits() method
pub const fn is_all(&self) -> bool
Please use the .is_all_bits() method
Returns true if the bitmask contains all values.
This will check for bits == !0,
use .is_all_flags() if you only want to check for all flags
Sourcepub const fn full() -> Capabilities
👎Deprecated: Please use the ::all_flags() constructor
pub const fn full() -> Capabilities
Please use the ::all_flags() constructor
Returns a bitmask that contains all flags.
Sourcepub const fn is_full(&self) -> bool
👎Deprecated: Please use the .is_all_flags() method
pub const fn is_full(&self) -> bool
Please use the .is_all_flags() method
Returns true if the bitmask contains all flags.
This will fail if any unused bit is set,
consider using .truncate() first.
Sourcepub const fn none() -> Capabilities
pub const fn none() -> Capabilities
Returns a bitmask that does not contain any values.
Sourcepub const fn truncate(&self) -> Capabilities
pub const fn truncate(&self) -> Capabilities
Returns a bitmask that only has bits corresponding to flags
Sourcepub const fn intersects(&self, other: Capabilities) -> bool
pub const fn intersects(&self, other: Capabilities) -> bool
Returns true if self intersects with any value in other,
or if other does not contain any values.
This is equivalent to (self & other) != 0 || other == 0.
Sourcepub const fn contains(&self, other: Capabilities) -> bool
pub const fn contains(&self, other: Capabilities) -> bool
Returns true if self contains all values of other.
This is equivalent to (self & other) == other.
Sourcepub const fn not(self) -> Capabilities
pub const fn not(self) -> Capabilities
Returns the bitwise NOT of the bitmask.
Sourcepub const fn and(self, other: Capabilities) -> Capabilities
pub const fn and(self, other: Capabilities) -> Capabilities
Returns the bitwise AND of the bitmask.
Sourcepub const fn or(self, other: Capabilities) -> Capabilities
pub const fn or(self, other: Capabilities) -> Capabilities
Returns the bitwise OR of the bitmask.
Sourcepub const fn xor(self, other: Capabilities) -> Capabilities
pub const fn xor(self, other: Capabilities) -> Capabilities
Returns the bitwise XOR of the bitmask.
Trait Implementations§
Source§impl Binary for Capabilities
impl Binary for Capabilities
Source§impl BitAnd for Capabilities
impl BitAnd for Capabilities
Source§type Output = Capabilities
type Output = Capabilities
& operator.Source§fn bitand(self, rhs: Capabilities) -> <Capabilities as BitAnd>::Output
fn bitand(self, rhs: Capabilities) -> <Capabilities as BitAnd>::Output
& operation. Read moreSource§impl BitAndAssign for Capabilities
impl BitAndAssign for Capabilities
Source§fn bitand_assign(&mut self, rhs: Capabilities)
fn bitand_assign(&mut self, rhs: Capabilities)
&= operation. Read moreSource§impl BitOr for Capabilities
impl BitOr for Capabilities
Source§type Output = Capabilities
type Output = Capabilities
| operator.Source§fn bitor(self, rhs: Capabilities) -> <Capabilities as BitOr>::Output
fn bitor(self, rhs: Capabilities) -> <Capabilities as BitOr>::Output
| operation. Read moreSource§impl BitOrAssign for Capabilities
impl BitOrAssign for Capabilities
Source§fn bitor_assign(&mut self, rhs: Capabilities)
fn bitor_assign(&mut self, rhs: Capabilities)
|= operation. Read moreSource§impl BitXor for Capabilities
impl BitXor for Capabilities
Source§type Output = Capabilities
type Output = Capabilities
^ operator.Source§fn bitxor(self, rhs: Capabilities) -> <Capabilities as BitXor>::Output
fn bitxor(self, rhs: Capabilities) -> <Capabilities as BitXor>::Output
^ operation. Read moreSource§impl BitXorAssign for Capabilities
impl BitXorAssign for Capabilities
Source§fn bitxor_assign(&mut self, rhs: Capabilities)
fn bitxor_assign(&mut self, rhs: Capabilities)
^= operation. Read moreSource§impl Clone for Capabilities
impl Clone for Capabilities
Source§fn clone(&self) -> Capabilities
fn clone(&self) -> Capabilities
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for Capabilities
Source§impl Debug for Capabilities
impl Debug for Capabilities
Source§impl Decode for Capabilities
impl Decode for Capabilities
Source§fn decode(input: &mut &[u8]) -> Result<Capabilities, DecodeError>
fn decode(input: &mut &[u8]) -> Result<Capabilities, DecodeError>
input, advancing it past the
consumed bytes. Read moreSource§impl Encode for Capabilities
impl Encode for Capabilities
impl Eq for Capabilities
Source§impl From<u64> for Capabilities
impl From<u64> for Capabilities
Source§fn from(val: u64) -> Capabilities
fn from(val: u64) -> Capabilities
Source§impl Hash for Capabilities
impl Hash for Capabilities
Source§impl LowerHex for Capabilities
impl LowerHex for Capabilities
Source§impl Not for Capabilities
impl Not for Capabilities
Source§impl Octal for Capabilities
impl Octal for Capabilities
Source§impl Ord for Capabilities
impl Ord for Capabilities
Source§fn cmp(&self, other: &Capabilities) -> Ordering
fn cmp(&self, other: &Capabilities) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for Capabilities
impl PartialEq for Capabilities
Source§impl PartialEq<u64> for Capabilities
impl PartialEq<u64> for Capabilities
Source§impl PartialOrd for Capabilities
impl PartialOrd for Capabilities
impl StructuralPartialEq for Capabilities
Auto Trait Implementations§
impl Freeze for Capabilities
impl RefUnwindSafe for Capabilities
impl Send for Capabilities
impl Sync for Capabilities
impl Unpin for Capabilities
impl UnsafeUnpin for Capabilities
impl UnwindSafe for Capabilities
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,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Erasable for T
impl<T> Erasable for T
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>
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>
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 more