pub trait StreamCipherSeek {
    // Required methods
    fn try_current_pos<T: SeekNum>(&self) -> Result<T, OverflowError>;
    fn try_seek<T: SeekNum>(&mut self, pos: T) -> Result<(), LoopError>;

    // Provided methods
    fn current_pos<T: SeekNum>(&self) -> T { ... }
    fn seek<T: SeekNum>(&mut self, pos: T) { ... }
}
Expand description

Trait for seekable stream ciphers.

Methods of this trait are generic over the SeekNum trait, which is implemented for primitive numeric types, i.e.: i/u8, i/u16, i/u32, i/u64, i/u128, and i/usize.

Required Methods§

source

fn try_current_pos<T: SeekNum>(&self) -> Result<T, OverflowError>

Try to get current keystream position

Returns LoopError if position can not be represented by type T

source

fn try_seek<T: SeekNum>(&mut self, pos: T) -> Result<(), LoopError>

Try to seek to the given position

Returns LoopError if provided position value is bigger than keystream length.

Provided Methods§

source

fn current_pos<T: SeekNum>(&self) -> T

Get current keystream position

Panics

If position can not be represented by type T

source

fn seek<T: SeekNum>(&mut self, pos: T)

Seek to the given position

Panics

If provided position value is bigger than keystream leangth

Implementors§