[][src]Trait librapidarchive::fs::portable::ArchivalSink

pub trait ArchivalSink<I>: Send + Write + RecoverableWrite<I> {
    fn downcast_seek(&mut self) -> Option<&mut dyn Seek> { ... }
fn downcast_tapedevice(&mut self) -> Option<&mut dyn TapeDevice> { ... } }

Supertrait that represents all the things a good archive sink needs to be.

TODO: The moment Rust gets the ability to handle multiple traits in a single trait object, delete this arbitrary supertrait immediately.

TODO: wait no now this supertrait does downcasts because Box won't

Provided methods

fn downcast_seek(&mut self) -> Option<&mut dyn Seek>

fn downcast_tapedevice(&mut self) -> Option<&mut dyn TapeDevice>

Loading content...

Implementations on Foreign Types

impl<I> ArchivalSink<I> for File[src]

fn downcast_tapedevice(&mut self) -> Option<&mut dyn TapeDevice>[src]

Loading content...

Implementors

impl<P> ArchivalSink<P> for UnixTapeDevice<P> where
    P: Send + Clone
[src]

fn downcast_seek(&mut self) -> Option<&mut dyn Seek>[src]

impl<T, P> ArchivalSink<P> for ConcurrentWriteBuffer<T, P> where
    T: 'static + Write + Send + RecoverableWrite<P>,
    P: 'static + Send + Clone + PartialEq
[src]

fn downcast_seek(&mut self) -> Option<&mut dyn Seek>[src]

fn downcast_tapedevice(&mut self) -> Option<&mut dyn TapeDevice>[src]

impl<W, I> ArchivalSink<I> for LimitingWriter<W> where
    W: ArchivalSink<I> + Send
[src]

impl<W: Write, P> ArchivalSink<P> for BlockingWriter<W, P> where
    W: Send + RecoverableWrite<P>,
    P: Send + Clone + PartialEq
[src]

fn downcast_seek(&mut self) -> Option<&mut dyn Seek>[src]

fn downcast_tapedevice(&mut self) -> Option<&mut dyn TapeDevice>[src]

Loading content...