pub struct RkyvFormat { /* private fields */ }Available on crate feature
rkyv_format only.Expand description
Rkyv format - high-performance zero-copy serialization (rkyv 0.8)
§Buffer Allocation
RkyvFormat pre-allocates a buffer to reduce reallocations during serialization. The buffer hint can be configured based on your typical payload size:
- Small payloads (<1KB): Use
RkyvFormat::new()(default 4KB) - Medium payloads (1KB-100KB): Use
RkyvFormat::with_buffer_hint(16384)(16KB) - Large payloads (>100KB): Use
RkyvFormat::with_buffer_hint(131072)(128KB)
§Examples
use hitbox_backend::RkyvFormat;
// Default buffer size (4KB)
let format = RkyvFormat::new();
// Custom buffer size for large payloads
let format = RkyvFormat::with_buffer_hint(128 * 1024);Implementations§
Source§impl RkyvFormat
impl RkyvFormat
Sourcepub const DEFAULT_BUFFER_HINT: usize = 4096
pub const DEFAULT_BUFFER_HINT: usize = 4096
Default buffer size (4KB) - suitable for most small to medium payloads
Sourcepub const fn with_buffer_hint(buffer_hint: usize) -> Self
pub const fn with_buffer_hint(buffer_hint: usize) -> Self
Sourcepub const fn buffer_hint(&self) -> usize
pub const fn buffer_hint(&self) -> usize
Returns the configured buffer hint
Trait Implementations§
Source§impl Clone for RkyvFormat
impl Clone for RkyvFormat
Source§fn clone(&self) -> RkyvFormat
fn clone(&self) -> RkyvFormat
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RkyvFormat
impl Debug for RkyvFormat
Source§impl Default for RkyvFormat
impl Default for RkyvFormat
Source§impl Format for RkyvFormat
impl Format for RkyvFormat
Source§fn with_serializer(
&self,
f: &mut dyn FnMut(&mut FormatSerializer<'_>) -> Result<(), FormatError>,
_context: &dyn Context,
) -> Result<Raw, FormatError>
fn with_serializer( &self, f: &mut dyn FnMut(&mut FormatSerializer<'_>) -> Result<(), FormatError>, _context: &dyn Context, ) -> Result<Raw, FormatError>
Serializes a value through a callback. Read more
Source§fn with_deserializer(
&self,
data: &[u8],
f: &mut dyn FnMut(&mut FormatDeserializer<'_>) -> Result<(), FormatError>,
_ctx: &mut BoxContext,
) -> Result<(), FormatError>
fn with_deserializer( &self, data: &[u8], f: &mut dyn FnMut(&mut FormatDeserializer<'_>) -> Result<(), FormatError>, _ctx: &mut BoxContext, ) -> Result<(), FormatError>
Deserializes a value through a callback. Read more
Source§fn format_type_id(&self) -> FormatTypeId
fn format_type_id(&self) -> FormatTypeId
Returns this format’s type identifier.
impl Copy for RkyvFormat
Auto Trait Implementations§
impl Freeze for RkyvFormat
impl RefUnwindSafe for RkyvFormat
impl Send for RkyvFormat
impl Sync for RkyvFormat
impl Unpin for RkyvFormat
impl UnwindSafe for RkyvFormat
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FormatExt for T
impl<T> FormatExt for T
Source§fn serialize<T>(
&self,
value: &T,
context: &dyn Context,
) -> Result<Raw, FormatError>where
T: Cacheable,
fn serialize<T>(
&self,
value: &T,
context: &dyn Context,
) -> Result<Raw, FormatError>where
T: Cacheable,
Serializes a value to raw bytes.
Source§fn deserialize<T>(
&self,
data: &Raw,
ctx: &mut BoxContext,
) -> Result<T, FormatError>where
T: Cacheable,
fn deserialize<T>(
&self,
data: &Raw,
ctx: &mut BoxContext,
) -> Result<T, FormatError>where
T: Cacheable,
Deserializes raw bytes into a value.
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.