Crate surreal_bb8
source ·Expand description
SURREAL_BB8
SurrealDB support for the bb8
connection pool.
Basic Usage
use bb8::Pool;
use surreal_bb8::surreal::SurrealConnectionManager;
use surrealdb::engine::remote::mem::Mem;
let sur_mgr = SurrealConnectionManager::<_, Mem>::new(());
let pool = Pool::builder().build(sur_mgr).await.expect("build error");
let connection = pool.get().await.expect("pool error");
connection
.health()
.await
.expect("Connection was not healthy");
println!("Connection is healthy")
With a configuration
use bb8::Pool;
use surreal_bb8::temp::{compiletime_with_config::SurrealConnectionManager, config::Config};
use surrealdb::{engine::remote::ws::Ws, opt::capabilities::Capabilities};
#[tokio::main]
async fn main() {
let config = Config::new()
.capabilities(Capabilities::default().with_guest_access(false))
.strict();
let sur_mgr: SurrealConnectionManager<Ws> =
SurrealConnectionManager::new("127.0.0.1:8000", config);
let pool = Pool::builder().build(sur_mgr).await.expect("build error");
let connection = pool.get().await.expect("pool error");
connection
.health()
.await
.expect("Connection was not healthy");
println!("Connection is healthy")
}
Re-exports
Modules
- A connection manager for SurrealDB that determines the kind of connection at compile time.
- A connection manager for SurrealDB that determines the kind of connection at runtime.
- A temporary workaround module to allow building connection managers with configurations, despite the missing Clone implementation on SurrealDb’s surrealdb::opt::Config.