pub struct WriterParams {
    pub w: Box<dyn Write>,
    pub segment_encrypter: Box<dyn SegmentEncrypter>,
    pub nonce_size: usize,
    pub nonce_prefix: Vec<u8>,
    pub plaintext_segment_size: usize,
    pub first_ciphertext_segment_offset: usize,
}
Expand description

WriterParams contains the options for instantiating a Writer via Writer::new().

Fields§

§w: Box<dyn Write>

w is the underlying writer being wrapped.

§segment_encrypter: Box<dyn SegmentEncrypter>

segment_encrypter provides a method for encrypting segments.

§nonce_size: usize

nonce_size is the length of generated nonces. It must be at least 5 + nonce_prefix.len(). It can be longer, but longer nonces introduce more overhead in the resultant ciphertext.

§nonce_prefix: Vec<u8>

nonce_prefix is a constant that all nonces throughout the ciphertext will start with. Its length must be at least 5 bytes shorter than nonce_size.

§plaintext_segment_size: usize

The size of the segments which the plaintext will be split into.

§first_ciphertext_segment_offset: usize

first_ciphertex_segment_offset indicates where the ciphertext should begin in w. This allows for the existence of overhead in the stream unrelated to this encryption scheme.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

const: unstable · 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> Same<T> for T

§

type Output = T

Should always be Self
source§

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

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V