Rust.cc

Rust.cc -

【Rust日报】2023-07-19 Cannonball -- Rust 构建的 QEMU 插件的框架

Cannonball Rust 构建的 QEMU 插件的框架 Cannonball 是一个用 Rust 构建 QEMU 插件的框架!您可以在 C 语言的 QEMU TCG 插件中执行的任何操作,都可以使用cannonball。编写以最小的开销和尽可能多的功能运行的插件! 例子 这里提供了几个例子! jaivana 一个简单的跟踪器,将一组可配置的事件记录到文件或标准输出中。 mons meg 一个跟踪器,记录与 Jaivana 相同的事件,但使用 Tokio 在异步环境中运行跟踪,通过 UNIX 套接字而不是匿名管道与主机进行通信。 看看它们,它们是学习如何使用这个框架的最佳方式。 安装 安装 只需将其添加到您的 Cargo.toml: cannonball = "0.2.4" Jaivana 的演示例子 kiddb 基于 Rust 的嵌入式存储引擎 整体设计参考LevelDB,旨在作为NewSQL数据库的存储引擎 支持嵌入式/单机存储/远程调用等多应用场景 以Kiss作为开发理念,设计以简单而高效为主导 实现MVCC以支持ACID 性能,BenchMark 读取吞吐量约为 Sled 的两倍,且大数据量下的读取顺序平均延迟为 1μs 左右 远程连接使用ProtoBuf实现,支持多语言通信 极小内存占用(占用/大量冷数据) 安全读取 组件引入 kip_db = "0.1.1-alpha.0" 代码 代码编译 cargo build 代码编译(正式环境) cargo build --release 单元测试 cargo test 性能基准测试 cargo bench Docker镜像编译 编译镜像 docker build -t kould/kip-db:v1 . 运行镜像 docker run kould/kip-db:v1 直接调用(基本使用) /// 指定文件夹以开启一个KvStore let kip_db = LsmStore::open("/welcome/kip_db").await?; // 插入数据 kip_db.set(&b"https://github.com/KKould/KipDB", Bytes::from(&b"your star plz"[..])).await?; // 获取数据 let six_pence = kip_db.get(&b"my deposit").await?; // 已占有硬盘大小 let just_lot = kip_db.size_of_disk().await? // 已有数据数量 let how_many_times_you_inserted = kip_db.len().await?; // 删除数据 kip_db.remove(&b"ex girlfriend").await?; // 创建事务 let mut transaction = kip_db.new_transaction().await?; // 插入数据至事务中 transaction.set(&b"this moment", Bytes::from(&b"hope u like it"[..])); // 删除该事务中key对应的value transaction.remove(&b"trouble")?; // 获取此事务中key对应的value let ping_cap = transaction.get(&b"dream job")?; // 提交事务 transaction.commit().await?; // 创建持久化数据迭代器 let guard = kip_db.iter().await?; let mut iterator = guard.iter()?; // 获取下一个元素 let hello = iterator.next_err()?; // 移动至第一个元素 let world = iterator.seek(Seek::Last)?; // 强制数据刷入硬盘 kip_db.flush().await?; https://github.com/KipData/KipDB From 日报小组 侯盛鑫 社区学习交流平台订阅: Rustcc论坛: 支持rss 微信公众号:Rust语言中文社区

Cannonball是一个用Rust构建QEMU插件的框架,提供了几个例子用于学习。Kiddb是一个基于Rust的嵌入式存储引擎,设计简单高效,支持多种应用场景。文章介绍了Cannonball和Kiddb的基本使用方法和功能。

Cannonball Kiddb QEMU插件 Rust 嵌入式存储引擎 插件

相关推荐 去reddit讨论

热榜 Top10

观测云
观测云
Dify.AI
Dify.AI
LigaAI
LigaAI
eolink
eolink

推荐或自荐