pub struct PlainCodec;Expand description
The identity codec used when encryption-at-rest is disabled. On-disk bytes equal the plaintext page; integrity is provided by the page’s inner CRC.
Trait Implementations§
Source§impl Clone for PlainCodec
impl Clone for PlainCodec
Source§fn clone(&self) -> PlainCodec
fn clone(&self) -> PlainCodec
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for PlainCodec
Source§impl Debug for PlainCodec
impl Debug for PlainCodec
Source§impl Default for PlainCodec
impl Default for PlainCodec
Source§fn default() -> PlainCodec
fn default() -> PlainCodec
Returns the “default value” for a type. Read more
Source§impl PageCodec for PlainCodec
impl PageCodec for PlainCodec
Source§fn block_size(&self) -> usize
fn block_size(&self) -> usize
On-disk size, in bytes, of one sealed page.
Source§fn seal(
&self,
_page_id: u64,
plaintext: &[u8; 16384],
out: &mut [u8],
) -> Result<()>
fn seal( &self, _page_id: u64, plaintext: &[u8; 16384], out: &mut [u8], ) -> Result<()>
Seal a plaintext page into its on-disk block.
out must be exactly
PageCodec::block_size bytes. page_id lets an AEAD codec bind the
page to its position (nonce derivation).Source§fn open(&self, _page_id: u64, block: &[u8], out: &mut [u8; 16384]) -> Result<()>
fn open(&self, _page_id: u64, block: &[u8], out: &mut [u8; 16384]) -> Result<()>
Open an on-disk block back into a plaintext page.
block must be exactly
PageCodec::block_size bytes.Source§fn clone_box(&self) -> Box<dyn PageCodec>
fn clone_box(&self) -> Box<dyn PageCodec>
Clone this codec into a new boxed instance. A codec holds only key
material (or nothing), so a clone shares the same keys — this lets a
component that needs its own handle, such as a disk-resident index sealing
its own files, reuse the store’s codec (ADR-0019).
Source§fn seal_record(&self, plaintext: &[u8]) -> Result<Vec<u8>>
fn seal_record(&self, plaintext: &[u8]) -> Result<Vec<u8>>
Seal a variable-length record — a WAL frame payload — into a
self-describing on-disk blob. The default is the identity transform used
by
PlainCodec; an AEAD codec overrides it to return
[nonce][ciphertext+tag], so no plaintext record ever reaches the disk.Source§fn open_record(&self, sealed: &[u8]) -> Result<Vec<u8>>
fn open_record(&self, sealed: &[u8]) -> Result<Vec<u8>>
Open a record produced by
PageCodec::seal_record. The default is the
identity transform; an AEAD codec authenticates and decrypts, returning an
error on a wrong key or any tampering.Auto Trait Implementations§
impl Freeze for PlainCodec
impl RefUnwindSafe for PlainCodec
impl Send for PlainCodec
impl Sync for PlainCodec
impl Unpin for PlainCodec
impl UnsafeUnpin for PlainCodec
impl UnwindSafe for PlainCodec
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
Mutably borrows from an owned value. Read more