pub struct Interface { /* private fields */ }
Expand description
Encoder interface
Implementations§
source§impl Interface
impl Interface
sourcepub fn brotli_rust(options: BrotliOptions) -> Encoder
pub fn brotli_rust(options: BrotliOptions) -> Encoder
Creates decoder with brotli-rust
interface
Never returns None
(probably panics on OOM)
source§impl Interface
impl Interface
sourcepub fn brotli_c(options: BrotliOptions) -> Option<Encoder>
pub fn brotli_c(options: BrotliOptions) -> Option<Encoder>
Creates encoder with brotli-c
interface
Returns None
if unable to initialize it (likely due to lack of memory)
source§impl Interface
impl Interface
sourcepub fn zlib(opts: ZlibOptions) -> Option<Encoder>
pub fn zlib(opts: ZlibOptions) -> Option<Encoder>
Creates encoder with zlib
interface
Returns None
if unable to initialize it (likely due to lack of memory)
source§impl Interface
impl Interface
sourcepub fn zlib_ng(opts: ZlibOptions) -> Option<Encoder>
pub fn zlib_ng(opts: ZlibOptions) -> Option<Encoder>
Creates encoder with zlib-ng
interface
Returns None
if unable to initialize it (likely due to lack of memory)
source§impl Interface
impl Interface
sourcepub fn zstd(opts: ZstdOptions) -> Option<Encoder>
pub fn zstd(opts: ZstdOptions) -> Option<Encoder>
Creates encoder with zstd
interface
Returns None
if unable to initialize it (likely due to lack of memory)
source§impl Interface
impl Interface
sourcepub const fn new(
reset_fn: fn(_: NonNull<u8>, opts: [u8; 2]) -> Option<NonNull<u8>>,
encode_fn: unsafe fn(_: NonNull<u8>, _: *const u8, _: usize, _: *mut u8, _: usize, _: EncodeOp) -> Encode,
drop_fn: fn(_: NonNull<u8>)
) -> Self
pub const fn new( reset_fn: fn(_: NonNull<u8>, opts: [u8; 2]) -> Option<NonNull<u8>>, encode_fn: unsafe fn(_: NonNull<u8>, _: *const u8, _: usize, _: *mut u8, _: usize, _: EncodeOp) -> Encode, drop_fn: fn(_: NonNull<u8>) ) -> Self
Creates new Interface
with provided functions to build vtable.
First argument of every function is state as pointer.
It is user responsibility to pass correct function pointers
sourcepub unsafe fn encoder(
&'static self,
state: NonNull<u8>,
opts: [u8; 2]
) -> Encoder
pub unsafe fn encoder( &'static self, state: NonNull<u8>, opts: [u8; 2] ) -> Encoder
Creates new encoder
This function is unsafe as it is up to user to ensure correctness of `Interface
instance
- Encoder state, passed as first argument to every function in vtable
opts
- is optional payload for purpose of initialization in reset_fn