-
Notifications
You must be signed in to change notification settings - Fork 26
/
Copy pathlib.rs
59 lines (50 loc) · 1.42 KB
/
lib.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/*!
# async-sqlx-session
This crate currently provides several session stores, each of which is
enabled by a feature flag.
* To use [`SqliteSessionStore`], enable the `sqlite` feature on this
crate.
* To use [`PostgresSessionStore`], enable the `pg` feature on this
crate.
* To use [`MysqlSessionStore`], enable the `mysql` feature on this
crate.
To use the `spawn_cleanup_task` function for either store on
async-std, enable the `async_std` feature. To perform session cleanup
intermittently with a different runtime, use a function like:
```rust,ignore
fn clean_up_intermittently(store: &SqliteSessionStore, period: Duration) {
let store = store.clone();
other_runtime::spawn(async move {
loop {
other_runtime::sleep(period).await;
if let Err(error) = store.cleanup().await {
log::error!("cleanup error: {}", error);
}
}
});
}
```
*/
#![forbid(unsafe_code, future_incompatible)]
#![deny(
missing_debug_implementations,
nonstandard_style,
missing_docs,
unreachable_pub,
missing_copy_implementations,
unused_qualifications
)]
#[cfg(feature = "sqlite")]
mod sqlite;
#[cfg(feature = "sqlite")]
pub use sqlite::SqliteSessionStore;
#[cfg(feature = "pg")]
mod pg;
#[cfg(feature = "pg")]
pub use pg::PostgresSessionStore;
#[cfg(feature = "mysql")]
mod mysql;
#[cfg(feature = "mysql")]
pub use mysql::MySqlSessionStore;
mod error;
pub use error::Error;