Document stream methods
This commit is contained in:
parent
e6407c4cb3
commit
11ff7ca55a
|
@ -3,7 +3,7 @@ name = "actix-fs"
|
||||||
description = "Asynchronous filesystem operations for actix-based systems"
|
description = "Asynchronous filesystem operations for actix-based systems"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
authors = ["asonix <asonix@asonix.dog>"]
|
authors = ["asonix <asonix@asonix.dog>"]
|
||||||
license-file = "LICENSE"
|
license = "AGPL-3.0"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
repository = "https://git.asonix.dog/asonix/actix-fs"
|
repository = "https://git.asonix.dog/asonix/actix-fs"
|
||||||
keywords = ["actix", "fs", "filesystem"]
|
keywords = ["actix", "fs", "filesystem"]
|
||||||
|
|
21
README.md
21
README.md
|
@ -19,19 +19,14 @@ async fn main() -> Result<(), anyhow::Error> {
|
||||||
```
|
```
|
||||||
|
|
||||||
### Contributing
|
### Contributing
|
||||||
Unless otherwise stated, all contributions to this project will be licensed under the CSL with
|
Feel free to open issues for anything you find an issue with. Please note that any contributed code will be licensed under the AGPLv3.
|
||||||
the exceptions listed in the License section of this file.
|
|
||||||
|
|
||||||
### License
|
### License
|
||||||
This work is licensed under the Cooperative Software License. This is not a Free Software
|
|
||||||
License, but may be considered a "source-available License." For most hobbyists, self-employed
|
|
||||||
developers, worker-owned companies, and cooperatives, this software can be used in most
|
|
||||||
projects so long as this software is distributed under the terms of the CSL. For more
|
|
||||||
information, see the provided LICENSE file. If none exists, the license can be found online
|
|
||||||
[here](https://lynnesbian.space/csl/). If you are a free software project and wish to use this
|
|
||||||
software under the terms of the GNU Affero General Public License, please contact me at
|
|
||||||
[asonix@asonix.dog](mailto:asonix@asonix.dog) and we can sort that out. If you wish to use this
|
|
||||||
project under any other license, especially in proprietary software, the answer is likely no.
|
|
||||||
|
|
||||||
Actix FS is currently licensed under the AGPL to the Lemmy project, found
|
Copyright © 2020 Riley Trautman
|
||||||
at [github.com/LemmyNet/lemmy](https://github.com/LemmyNet/lemmy)
|
|
||||||
|
pict-rs is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
pict-rs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. This file is part of pict-rs.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along with pict-rs. If not, see [http://www.gnu.org/licenses/](http://www.gnu.org/licenses/).
|
||||||
|
|
19
src/file.rs
19
src/file.rs
|
@ -480,11 +480,30 @@ impl FileStream {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Change the size of chunks read by the stream
|
||||||
|
///
|
||||||
|
/// This can be used to only read certain bytes from a given file
|
||||||
|
///
|
||||||
|
/// ```no_run
|
||||||
|
/// #[actix_rt::main]
|
||||||
|
/// async fn main() -> actix_fs::Result<()> {
|
||||||
|
/// let f = actix_fs::file::open("foo.txt").await?;
|
||||||
|
/// let (f, _) = actix_fs::file::seek(std::io::SeekFrom::Start(16)).await?;
|
||||||
|
/// let mut stream = actix_fs::file::read_to_stream(f).await?.chunk_size(16);
|
||||||
|
///
|
||||||
|
/// if let Some(res) = stream.next().await {
|
||||||
|
/// let sixteen_bytes = res?;
|
||||||
|
/// // ...
|
||||||
|
/// }
|
||||||
|
/// Ok(())
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
pub fn chunk_size(mut self, chunk_size: u64) -> Self {
|
pub fn chunk_size(mut self, chunk_size: u64) -> Self {
|
||||||
self.chunk_size = chunk_size;
|
self.chunk_size = chunk_size;
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Get the size of the file being streamed
|
||||||
pub fn size(&self) -> u64 {
|
pub fn size(&self) -> u64 {
|
||||||
self.size
|
self.size
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue