Alopecosa is a convenient async pure-rust Tarantool 1.6+ connector built on tokio (version 1).
By the way, alopecosa is the kind of tarantula that inhabits in Japan.
```rust use std::{ error::Error, time::Duration, sync::Arc, }; use alopecosa::{ Connection, Connector, IntoTuple, Call, Eval, Select, Iterator }; use tokio::time::timeout;
async fn main() -> Result<(), Box
let evalresp: (u32, u32) = conn.eval(Eval { expr: "return 1, 2".into(), args: ().intotuple(), }).await?;
let selectresp: Vec<(u32, u32, u32)> = conn.select(Select { spaceid: 512, indexid: 0, limit: 100, offset: 0, iterator: Iterator::Ge, keys: ( 1u64, ).intotuple(), }).await?;
let (respwithtimeout,): (i32,) = timeout( Duration::fromsecs(1), conn.call(Call { function: "echo".into(), args: ( 123, ).intotuple(), }) ).await??;
Ok(()) }
```
rust
let addr = "127.0.0.1:3301".parse()?;
let conn: Arc<Connection> = Connector::new(addr)
.with_auth("user".into(), "password".into())
.connect().await?;
rust
let addr = "127.0.0.1:3301".parse()?;
let conn: Arc<Connection> = Connector::new(addr)
.with_connect_timeout(Duration::from_secs(10))
.with_reconnect_interval(Duration::from_secs(1))
.with_send_request_timeout(Duration::from_secs(10))
.connect().await?;