Struct http_serve::ChunkedReadFile [−][src]
pub struct ChunkedReadFile<D: 'static + Send + Buf + From<Vec<u8>> + From<&'static [u8]>, E: 'static + Send + Into<Box<Error + Send + Sync>> + From<Box<Error>>> { /* fields omitted */ }
A HTTP entity created from a std::fs::File which reads the file
chunk-by-chunk on a CpuPool.
Methods
impl<D, E> ChunkedReadFile<D, E> where
D: 'static + Send + Buf + From<Vec<u8>> + From<&'static [u8]>,
E: 'static + Send + Into<Box<Error + Send + Sync>> + From<Box<Error>>, [src]
impl<D, E> ChunkedReadFile<D, E> where
D: 'static + Send + Buf + From<Vec<u8>> + From<&'static [u8]>,
E: 'static + Send + Into<Box<Error + Send + Sync>> + From<Box<Error>>, pub fn new(
file: File,
pool: Option<CpuPool>,
headers: HeaderMap
) -> Result<Self, Error>[src]
pub fn new(
file: File,
pool: Option<CpuPool>,
headers: HeaderMap
) -> Result<Self, Error>Creates a new ChunkedReadFile.
read(2) calls will be performed on the supplied pool so that they don't block the
tokio reactor thread on local disk I/O. Note that File::open and this constructor
(specifically, its call to fstat(2)) may also block, so they typically shouldn't be
called on the tokio reactor either.
Trait Implementations
impl<D: Clone + 'static + Send + Buf + From<Vec<u8>> + From<&'static [u8]>, E: Clone + 'static + Send + Into<Box<Error + Send + Sync>> + From<Box<Error>>> Clone for ChunkedReadFile<D, E>[src]
impl<D: Clone + 'static + Send + Buf + From<Vec<u8>> + From<&'static [u8]>, E: Clone + 'static + Send + Into<Box<Error + Send + Sync>> + From<Box<Error>>> Clone for ChunkedReadFile<D, E>fn clone(&self) -> ChunkedReadFile<D, E>[src]
fn clone(&self) -> ChunkedReadFile<D, E>Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
fn clone_from(&mut self, source: &Self)Performs copy-assignment from source. Read more
impl<D, E> Entity for ChunkedReadFile<D, E> where
D: 'static + Send + Buf + From<Vec<u8>> + From<&'static [u8]>,
E: 'static + Send + Into<Box<Error + Send + Sync>> + From<Box<Error>>, [src]
impl<D, E> Entity for ChunkedReadFile<D, E> where
D: 'static + Send + Buf + From<Vec<u8>> + From<&'static [u8]>,
E: 'static + Send + Into<Box<Error + Send + Sync>> + From<Box<Error>>, type Data = D
The type of a data chunk. Read more
type Error = E
fn len(&self) -> u64[src]
fn len(&self) -> u64Returns the length of the entity's body in bytes.
fn get_range(
&self,
range: Range<u64>
) -> Box<Stream<Item = Self::Data, Error = Self::Error> + Send>[src]
fn get_range(
&self,
range: Range<u64>
) -> Box<Stream<Item = Self::Data, Error = Self::Error> + Send>Gets the body bytes indicated by range.
fn add_headers(&self, h: &mut HeaderMap)[src]
fn add_headers(&self, h: &mut HeaderMap)Adds entity headers such as Content-Type to the supplied Headers object. In particular, these headers are the "other representation header fields" described by RFC 7233 section 4.1; they should exclude Content-Range, Date, Cache-Control, ETag, Expires, Content-Location, and Vary. Read more
fn etag(&self) -> Option<HeaderValue>[src]
fn etag(&self) -> Option<HeaderValue>Returns an etag for this entity, if available. Implementations are encouraged to provide a strong etag. RFC 7232 section 2.1 notes that only strong etags are usable for sub-range retrieval. Read more
fn last_modified(&self) -> Option<SystemTime>[src]
fn last_modified(&self) -> Option<SystemTime>Returns the last modified time of this entity, if available. Note that serve may serve an earlier Last-Modified: date than the one returned here if this time is in the future, as required by RFC 7232 section 2.2.1. Read more
fn is_empty(&self) -> bool[src]
fn is_empty(&self) -> boolReturns true iff the entity's body has length 0.
Auto Trait Implementations
impl<D, E> Send for ChunkedReadFile<D, E>
impl<D, E> Send for ChunkedReadFile<D, E>impl<D, E> Sync for ChunkedReadFile<D, E> where
D: Sync,
E: Sync,
impl<D, E> Sync for ChunkedReadFile<D, E> where
D: Sync,
E: Sync,