Struct cuprate_levin::header::BucketHead
source · 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) -> BucketHead<C>
pub fn from_bytes(buf: &mut BytesMut) -> BucketHead<C>
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<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 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl<C: Debug> Debug for BucketHead<C>
impl<C: Debug> Debug for BucketHead<C>
source§impl<C: PartialEq> PartialEq for BucketHead<C>
impl<C: PartialEq> PartialEq for BucketHead<C>
source§fn eq(&self, other: &BucketHead<C>) -> bool
fn eq(&self, other: &BucketHead<C>) -> bool
self and other values to be equal, and is used
by ==.impl<C: Copy> Copy for BucketHead<C>
impl<C: Eq> Eq for BucketHead<C>
impl<C> 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> 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: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)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> WithSubscriber for T
impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
source§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.