6 releases (3 breaking)
Uses old Rust 2015
0.4.0 | Mar 30, 2017 |
---|---|
0.3.2 | Mar 14, 2017 |
0.3.1 | Feb 13, 2017 |
0.3.0 | Oct 20, 2016 |
0.1.0 | Oct 17, 2016 |
#1378 in Filesystem
21 downloads per month
Used in tk-http
18KB
316 lines
Sendfile for Tokio
Status: | alpha |
---|---|
Documentation: | http://docs.rs/tk-sendfile |
A thread pool that can process file requests and send data to the socket with zero copy (using sendfile).
Challenges:
- While sendfile is non-blocking when writing to socket, it blocks for disk access for two cases: initial open() and for reading file inside the sendfile() system call itself
- Doing more than single sendfile operation requires some bookkeeping
- It should be possible to implement file cache (both opened files and in-memory file data) transparently for the user
- [TODO] Serving user-specified file paths requires non-trivial code to prevent symlink attacks
License
Licensed under either of
- Apache License, Version 2.0, (./LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (./LICENSE-MIT or http://opensource.org/licenses/MIT) at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Dependencies
~6MB
~96K SLoC