pub struct SerializerConfig { /* private fields */ }Expand description
Configures how values are serialized.
The output can be read with Python’s pickle.loads (see the
crate documentation). The options are the
protocol and the Context.
use deser_pickle::SerializerConfig;
const CONFIG: SerializerConfig = SerializerConfig::builder().protocol(2).build();
assert_eq!(CONFIG.to_vec(&vec![1, 2]).unwrap(), b"\x80\x02](K\x01K\x02e.");Implementations§
Source§impl SerializerConfig
impl SerializerConfig
Sourcepub const fn new() -> SerializerConfig
pub const fn new() -> SerializerConfig
Creates the default configuration.
Sourcepub const fn builder() -> SerializerConfigBuilder
pub const fn builder() -> SerializerConfigBuilder
Returns a builder for the configuration (see SerializerConfigBuilder).
Sourcepub const fn into_builder(self) -> SerializerConfigBuilder
pub const fn into_builder(self) -> SerializerConfigBuilder
Returns a builder that starts with this configuration.
Sourcepub fn set_context(&mut self, context: Context)
pub fn set_context(&mut self, context: Context)
Sets the context the values are serialized in.
The values of the context are the defaults of the extension values
of the state (see Context). The
serializers and writers created with the configuration use this
context. A context set on the driver takes precedence.
Sourcepub fn set_protocol(&mut self, protocol: u8)
pub fn set_protocol(&mut self, protocol: u8)
Sets the protocol that is written.
Protocols 2 to 5 are supported, the default is 4 (which Python reads since 3.4). Protocol 2 can be read by Python 2. Serializing fails with other protocols.
Sourcepub fn to_vec<T: Serialize + ?Sized>(&self, value: &T) -> Result<Vec<u8>, Error>
pub fn to_vec<T: Serialize + ?Sized>(&self, value: &T) -> Result<Vec<u8>, Error>
Serializes the given value.
Sourcepub fn to_vec_with<F, T: Serialize + ?Sized>(
&self,
value: &T,
setup: F,
) -> Result<Vec<u8>, Error>where
F: FnOnce(&mut SerializeDriver<'_>),
pub fn to_vec_with<F, T: Serialize + ?Sized>(
&self,
value: &T,
setup: F,
) -> Result<Vec<u8>, Error>where
F: FnOnce(&mut SerializeDriver<'_>),
Serializes the given value with a configured driver.
The callback is invoked with the driver before the serialization
starts, for instance to add Layers.
Source§impl SerializerConfig
impl SerializerConfig
Sourcepub fn writer<W: Write>(&self, writer: W) -> Writer<W, Serializer>
pub fn writer<W: Write>(&self, writer: W) -> Writer<W, Serializer>
Creates a writer of values (see
deser::io::Writer).
Every value is written as a pickle once it’s complete.