0.1.2 |
|
---|---|
0.1.1 |
|
0.1.0 |
|
#14 in #products
320KB
9K
SLoC
Cassander
Cassander is a Rust wrapper around the DataStax C/C++ Driver for Apache Cassandra and DataStax Products.
This is the work in progress project: expect breaking changes and defects.
The minimal supported C/C++ driver version is 2.17.1.
lib.rs
:
Cassander
The cassander
crate provides idiomatic Rust bindings to the DataStax C++
driver for Apache Cassandra. The crate is a work in progress and is not
feature complete. The crate is not yet ready for production use.
Architecture
+---------+
|cassander|
+---------+
|
| +----------+
+->|mod driver|
| +----------+
| |
| | +-------+
| +->|mod ffi|
| | +-------+
| | | +--------------------+
| | +->|struct_CassStatement|
| | B | +--------------------+
| | I | +--------------------+
| | N +->| ... |
| | D | +--------------------+
| | I | +--------------------+
| | N +->| enum_CassError |
| | G | +--------------------+
| | S | +--------------------+
| | +->|cass_session_prepare|
| | +--------------------+
| |
| | +--------+
| +->|mod cass|
| +--------+
| | +-------------+
| +->| CassError |
| | +-------------+
| | +-------------+
| S +->| CassFuture |
| A | +-------------+
| F | +-------------+
| E +->|CassStatement|
| | +-------------+
| W | +-------------+
| R +->| ... |
| A | +-------------+
| P | +-------------+
| P +->| newtypes |
| E | +-------------+
| R | +-------------+
| S +->| traits |
| | +-------------+
| | +-------------+
| +->| methods |
| +-------------+
|
-----------+---------------------------------------------
|
v
+-------------+
|Rustified API|
+-------------+
|
| +---------------+
+->| Statement |
| +---------------+
| +---------------+
+->|CachedStatement|
| +---------------+
| +---------------+
+->| Query |
| +---------------+
| +---------------+
+->| CqlValue |
| +---------------+
| +---------------+
+->| ClusterConfig |
| +---------------+
| +---------------+
+->| ... |
+---------------+
Dependencies
~5–13MB
~150K SLoC