Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use crate::pin::Pin;
use crate::stream::Stream;
use std::io;
use std::io::{Seek, SeekFrom};

#[allow(dead_code)]
pub trait Len {
    fn length(&mut self) -> io::Result<u64>;
}
impl<T: Seek> Len for Stream<T> {
    fn length(&mut self) -> io::Result<u64> {
        self.pin()?;
        let len = self.inner.seek(SeekFrom::End(0))?;
        self.un_pin()?;
        Ok(len)
    }
}