1 个不稳定版本
使用旧的 Rust 2015
0.1.0 | 2018 年 2 月 4 日 |
---|
#48 在 #head
11KB
249 行
通过 git://len.falken.directory/code/skullrump.git 访问此目录
有关其他项目,请参阅 https://len.falken.directory/code.xml
这是由 git://len.falken.directory/code/github-goodbye.git 留下的信息
拥有您自己的数据,自托管:git://len.falken.directory/code/git-self-host.git
lib.rs
:
skullrump
是一个用于快速编写类似 UNIX 的二进制 head 和 tail 程序的包。
为了使用它,用户需要为其类型实现 BinaryEntry
特性。
文件监视不是内置的,但可以使用 watch
程序或类似程序来模拟。
示例
use std::fs::File;
use std::io::{ Result };
use self::skullrump::byteorder::{ WriteBytesExt, ReadBytesExt };
use self::skullrump::{ BinaryEntry, BinaryChunkStream };
struct ASingleByte(u8);
impl BinaryEntry for ASingleByte {
fn entry_write(data_in: Self, buffer_out: &mut Vec<u8>) -> Result<()> {
buffer_out.write_u8(data_in.0)
}
fn entry_read(file: &mut File) -> Result<Self> {
file
.read_u8()
.and_then(|data| Ok(ASingleByte(data)))
}
fn entry_size() -> i64 {
1
}
}
fn foo(file: &mut File) {
let mut buff:Vec<u8> = vec![];
file.entry_write(&mut buff, ASingleByte(1));
match file.tail::<ASingleByte>(1) {
Ok(_entries) => {}
Err(_) => {}
};
}
依赖项
~115KB