Skip to main content

Config

Struct Config 

Source
pub struct Config {
    pub compatible: bool,
    pub xlang: bool,
    pub share_meta: bool,
    pub compress_string: bool,
    pub check_string_read: bool,
    pub max_dyn_depth: u32,
    pub check_struct_version: bool,
    pub track_ref: bool,
    pub max_binary_size: u32,
    pub max_collection_size: u32,
}
Expand description

Configuration for Fory serialization.

This struct holds all the configuration options that control how Fory serializes and deserializes data. It is shared between the main Fory instance and the WriteContext/ReadContext to ensure consistent behavior.

Fields§

§compatible: bool

Whether compatible mode is enabled for schema evolution support.

§xlang: bool

Whether xlang mode is enabled.

§share_meta: bool

Whether metadata sharing is enabled.

§compress_string: bool

Whether meta string compression is enabled.

§check_string_read: bool

Whether UTF-8 string payloads are validated before constructing Rust strings.

§max_dyn_depth: u32

Maximum depth for nested dynamic object serialization.

§check_struct_version: bool

Whether class version checking is enabled.

§track_ref: bool

Whether reference tracking is enabled. When enabled, shared references and circular references are tracked and preserved during serialization/deserialization.

§max_binary_size: u32

Maximum allowed size for binary data in bytes. Prevents excessive memory allocation from untrusted payloads.

§max_collection_size: u32

Maximum allowed number of elements in a collection or entries in a map. Prevents excessive memory allocation from untrusted payloads.

Implementations§

Source§

impl Config

Source

pub fn new() -> Self

Creates a new Config with default values.

Source

pub fn is_compatible(&self) -> bool

Check if compatible mode is enabled.

Source

pub fn is_xlang(&self) -> bool

Check if xlang mode is enabled.

Source

pub fn is_share_meta(&self) -> bool

Check if meta sharing is enabled.

Source

pub fn is_compress_string(&self) -> bool

Check if string compression is enabled.

Source

pub fn is_check_string_read(&self) -> bool

Check if UTF-8 string payload validation is enabled.

Source

pub fn max_dyn_depth(&self) -> u32

Get maximum dynamic depth.

Source

pub fn is_check_struct_version(&self) -> bool

Check if class version checking is enabled.

Source

pub fn is_track_ref(&self) -> bool

Check if reference tracking is enabled.

Source

pub fn max_binary_size(&self) -> u32

Get maximum allowed binary data size in bytes.

Source

pub fn max_collection_size(&self) -> u32

Get maximum allowed collection/map element count.

Trait Implementations§

Source§

impl Clone for Config

Source§

fn clone(&self) -> Config

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Config

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Config

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.