Skip to content

Commit aa3d38e

Browse files
committed
updated examples
1 parent add4556 commit aa3d38e

File tree

4 files changed

+37
-0
lines changed

4 files changed

+37
-0
lines changed

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ exclude = [
1616
"examples/owned_txn_retirement",
1717
"examples/protocol_test",
1818
"examples/receiver",
19+
"examples/receiver_auto_accept",
1920
"examples/rustls_connection",
2021
"examples/sasl_connection",
2122
"examples/sasl_listener",

examples/Readme.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ The examples below are individual examples which you need to `cd` into the corre
88
|------|-------------|
99
|[sender](./sender/) | A simple sender with default configuration |
1010
|[receiver](./receiver/) | A simple receiver with default configuration |
11+
|[receiver_auto_accept](./receiver_auto_accept/) | A simple receiver that accepts incoming deliveries automatically |
1112
|[batchable_send](./batchable_send/)| A simple sender that sends a message but doesn't require immediate disposition |
1213
|[listener](./listener)| A simple listener that handles incoming connections, sessions, and links |
1314

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
[package]
2+
name = "receiver_auto_accept"
3+
version = "0.1.0"
4+
edition = "2021"
5+
6+
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
7+
8+
[dependencies]
9+
tokio = { version = "1", features = ["net", "rt", "rt-multi-thread", "macros"] }
10+
fe2o3-amqp = { path = "../../fe2o3-amqp" }
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
use fe2o3_amqp::{
2+
connection::Connection, link::Receiver, session::Session, types::primitives::Value, Delivery,
3+
};
4+
5+
#[tokio::main]
6+
async fn main() {
7+
let mut connection = Connection::open("connection-1", "amqp://localhost:5672")
8+
.await
9+
.unwrap();
10+
let mut session = Session::begin(&mut connection).await.unwrap();
11+
let mut receiver = Receiver::builder()
12+
.name("rust-receiver-link-1")
13+
.source("q1")
14+
.auto_accept(true) // default is `false`
15+
.attach(&mut session)
16+
.await
17+
.unwrap();
18+
19+
// The delivery will be automatically accepted
20+
let delivery: Delivery<Value> = receiver.recv().await.unwrap();
21+
22+
receiver.close().await.unwrap();
23+
session.end().await.unwrap();
24+
connection.close().await.unwrap();
25+
}

0 commit comments

Comments
 (0)