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
//! Async PostgreSQL LISTEN/NOTIFY pub/sub client built on
//! [`tokio-postgres`](https://docs.rs/tokio-postgres).
//!
//! # Example
//!
//! ```rust,ignore
//! use pgpubsub::{PgPubSub, PgPubSubOptionsBuilder, RecvError};
//!
//! #[tokio::main]
//! async fn main() -> Result<(), Box<dyn std::error::Error>> {
//! let options = PgPubSubOptionsBuilder::new("localhost", "mydb", "user", "pass")
//! .channel_capacity(16)
//! .build();
//!
//! let pubsub = PgPubSub::connect(options).await?;
//! let mut subscription = pubsub.listen("my_channel").await?;
//!
//! loop {
//! match subscription.recv().await {
//! Ok(n) => println!("{}: {}", n.channel, n.payload),
//! Err(RecvError::Lagged(n)) => eprintln!("lagged, {n} dropped"),
//! Err(RecvError::Closed) => break,
//! Err(err) => { eprintln!("{err}"); break; }
//! }
//! }
//! Ok(())
//! }
//! ```
pub use PgPubSub;
pub use ;
pub use PgPubSubOptions;
pub use PgPubSubOptionsBuilder;