pub struct BucketHead<C> {
pub signature: u64,
pub size: u64,
pub have_to_return_data: bool,
pub command: C,
pub return_code: i32,
pub flags: Flags,
pub protocol_version: u32,
}Expand description
The Header of a Bucket. This contains
Fields§
§signature: u64The network signature, should be LEVIN_SIGNATURE for Monero
size: u64The size of the body
have_to_return_data: boolIf the peer has to send data in the order of requests - some messages require responses but don’t have this set (some notifications)
command: CCommand
return_code: i32Return Code - will be 0 for requests and >0 for ok responses otherwise will be a negative number corresponding to the error
flags: FlagsThe Flags of this header
protocol_version: u32The protocol version, for Monero this is currently 1
Implementations§
Source§impl<C: LevinCommand> BucketHead<C>
impl<C: LevinCommand> BucketHead<C>
Sourcepub fn from_bytes(buf: &mut BytesMut) -> Self
pub fn from_bytes(buf: &mut BytesMut) -> Self
Builds the header from bytes, this function does not check any fields should match the expected ones.
§Panics
This function will panic if there aren’t enough bytes to fill the header.
Currently HEADER_SIZE
Sourcepub fn write_bytes_into(&self, dst: &mut BytesMut)
pub fn write_bytes_into(&self, dst: &mut BytesMut)
Serializes the header
Trait Implementations§
Source§impl<'arbitrary, C: Arbitrary<'arbitrary>> Arbitrary<'arbitrary> for BucketHead<C>
impl<'arbitrary, C: Arbitrary<'arbitrary>> Arbitrary<'arbitrary> for BucketHead<C>
Source§fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Self>
fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Self>
Self from the given unstructured data. Read moreSource§fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Self>
fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Self>
Self from the entirety of the given
unstructured data. Read moreSource§impl<C: Clone> Clone for BucketHead<C>
impl<C: Clone> Clone for BucketHead<C>
Source§fn clone(&self) -> BucketHead<C>
fn clone(&self) -> BucketHead<C>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl<C: Copy> Copy for BucketHead<C>
Source§impl<C: Debug> Debug for BucketHead<C>
impl<C: Debug> Debug for BucketHead<C>
impl<C: Eq> Eq for BucketHead<C>
Source§impl<C: PartialEq> PartialEq for BucketHead<C>
impl<C: PartialEq> PartialEq for BucketHead<C>
impl<C: PartialEq> StructuralPartialEq for BucketHead<C>
Auto Trait Implementations§
impl<C> Freeze for BucketHead<C>where
C: Freeze,
impl<C> RefUnwindSafe for BucketHead<C>where
C: RefUnwindSafe,
impl<C> Send for BucketHead<C>where
C: Send,
impl<C> Sync for BucketHead<C>where
C: Sync,
impl<C> Unpin for BucketHead<C>where
C: Unpin,
impl<C> UnsafeUnpin for BucketHead<C>where
C: UnsafeUnpin,
impl<C> UnwindSafe for BucketHead<C>where
C: UnwindSafe,
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<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
Layout§
Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.