Infinity is a simple, powerful, object-oriented abstraction of ibVerbs. The library enables users to build sophisticated applications that use Remote Direct Memory Access (RDMA) without sacrificing performance. It significantly lowers the barrier to get started with RDMA programming. Infinity provides support for two-sided (send/receive) as well as one-sided (read/write/atomic) operations.
This project contains an idiomatic, safe Rust wrapper for the C++ Infinity library by @claudebarthels.
infinity is on crates.io. You need ''ibVerbs'' installed for Infinity to build.
The documentation is published by travis for the master branch.
If you're developing on a machine that doesn't have libibverbs available, you can use the utaal/rust-ibverbs docker image to test your builds as follows:
docker run --rm -t -v .:/root/infinity-rust utaal/rust-libibverbs bash -c '(cd /root/infinity-rust; cargo build --all)'
The Dockerfile for utaal/rust-libibverbs is in docker/.
Infinity, and the Rust wrapper in this repository, are MIT-licensed.
- Infinity's license; Infinity is (C) Claude Barthels, ETH Zurich;
- This project's license; this project is (C) Andrea Lattuada, ETH Zurich.