pub struct PlainMode;Expand description
Plain (unencrypted) chunk mode.
Trait Implementations§
Source§impl JoinMode for PlainMode
impl JoinMode for PlainMode
Source§const REF_SIZE: usize = REF_SIZE
const REF_SIZE: usize = REF_SIZE
Size of a single reference in bytes (32 plain, 64 encrypted).
Source§type RootRef = SwarmAddress
type RootRef = SwarmAddress
Root reference type:
ChunkAddress (plain) or EncryptedChunkRef (encrypted).Source§type JoinerContext = ()
type JoinerContext = ()
Per-chunk context carried through tree traversal:
() (plain) or EncryptionKey.Source§fn root_address(input: &ChunkAddress) -> ChunkAddress
fn root_address(input: &ChunkAddress) -> ChunkAddress
Extract the chunk address from a root reference (for fetching).
Source§fn init_from_chunk<const BS: usize>(
root: ChunkAddress,
chunk: ContentChunk<BS>,
) -> Result<(ChunkAddress, u64, ())>
fn init_from_chunk<const BS: usize>( root: ChunkAddress, chunk: ContentChunk<BS>, ) -> Result<(ChunkAddress, u64, ())>
Initialize joiner from a root ref and pre-fetched root chunk.
Source§fn decode_body<const BS: usize>(
chunk: ContentChunk<BS>,
_context: &(),
_span: u64,
) -> Result<Bytes>
fn decode_body<const BS: usize>( chunk: ContentChunk<BS>, _context: &(), _span: u64, ) -> Result<Bytes>
Decode a fetched chunk into body bytes (decrypting if needed).
Source§fn parse_child_ref(body: &[u8], ref_start: usize) -> Result<(ChunkAddress, ())>
fn parse_child_ref(body: &[u8], ref_start: usize) -> Result<(ChunkAddress, ())>
Parse a child reference from body bytes at offset. Returns (address, child_context).
Source§fn refs_per_chunk(body_size: usize) -> usize
fn refs_per_chunk(body_size: usize) -> usize
Number of child references per intermediate chunk.
Source§impl SplitMode for PlainMode
impl SplitMode for PlainMode
Source§fn prepare_chunk<const BS: usize>(
data: Vec<u8>,
) -> Result<(ContentChunk<BS>, [u8; 32])>
fn prepare_chunk<const BS: usize>( data: Vec<u8>, ) -> Result<(ContentChunk<BS>, [u8; 32])>
Prepare chunk data (span + body) for storage, returning chunk and reference bytes.
Takes ownership of the payload to avoid an extra allocation.
Source§fn process_empty<const BS: usize, S: SyncChunkPut<BS>>(
store: &S,
) -> Result<ChunkAddress>
fn process_empty<const BS: usize, S: SyncChunkPut<BS>>( store: &S, ) -> Result<ChunkAddress>
Process empty file, store chunk, return root ref.
Source§fn extract_root(buffer: &[u8]) -> Result<ChunkAddress>
fn extract_root(buffer: &[u8]) -> Result<ChunkAddress>
Extract root reference from top of buffer.
Source§fn process_chunk<const BS: usize, S: SyncChunkPut<BS>>(
data: Vec<u8>,
store: &S,
) -> Result<Self::RefBytes>
fn process_chunk<const BS: usize, S: SyncChunkPut<BS>>( data: Vec<u8>, store: &S, ) -> Result<Self::RefBytes>
Process chunk data (span + body), store it, return reference bytes.
Takes ownership of the payload to avoid an extra allocation.
Auto Trait Implementations§
impl Freeze for PlainMode
impl RefUnwindSafe for PlainMode
impl Send for PlainMode
impl Sync for PlainMode
impl Unpin for PlainMode
impl UnsafeUnpin for PlainMode
impl UnwindSafe for PlainMode
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more