updated mod level doc
Signed-off-by: minghuaw <michael.wu1107@gmail.com>
This commit is contained in:
parent
f7d3b8696b
commit
c26131f8cb
|
@ -35,9 +35,9 @@ async fn send_binary_event(sender: &mut Sender, i: usize, value: serde_json::Val
|
|||
async fn send_structured_event(sender: &mut Sender, i: usize, value: serde_json::Value) -> Result<()> {
|
||||
let event = EventBuilderV10::new()
|
||||
.id(i.to_string())
|
||||
.ty("example.test")
|
||||
.source("localhost")
|
||||
.extension("ext-name", "AMQP")
|
||||
.ty(EXAMPLE_TYPE)
|
||||
.source(EXAMPLE_SOURCE)
|
||||
.extension(EXTENSION_NAME, EXTENSION_VALUE)
|
||||
.data("application/json", value)
|
||||
.build()?;
|
||||
let event_message = EventMessage::from_structured_event(event)?;
|
||||
|
|
|
@ -1,4 +1,73 @@
|
|||
//! Implements AMQP 1.0 binding for CloudEvents
|
||||
//! This module integrated the [cloudevents-sdk](https://docs.rs/cloudevents-sdk) with
|
||||
//! [fe2o3-amqp](https://docs.rs/fe2o3-amqp/) to easily send and receiver CloudEvents
|
||||
//!
|
||||
//! To send CloudEvents
|
||||
//!
|
||||
//! ```rust
|
||||
//! use fe2o3_amqp::{Connection, Sender, Session};
|
||||
//! use cloudevents::{EventBuilderV10, binding::fe2o3_amqp::{EventMessage, AmqpMessage}};
|
||||
//!
|
||||
//! // You need a running AMQP 1.0 broker to try out this example.
|
||||
//! // With docker: docker run -it --rm -e ARTEMIS_USERNAME=guest -e ARTEMIS_PASSWORD=guest -p 5672:5672 vromero/activemq-artemis
|
||||
//!
|
||||
//! #[tokio::main]
|
||||
//! async fn main() {
|
||||
//! let mut connection =
|
||||
//! Connection::open("cloudevents-sdk-rust", "amqp://guest:guest@localhost:5672")
|
||||
//! .await
|
||||
//! .unwrap();
|
||||
//! let mut session = Session::begin(&mut connection).await.unwrap();
|
||||
//! let mut sender = Sender::attach(&mut session, "sender", "q1").await.unwrap();
|
||||
//!
|
||||
//! let event = EventBuilderV10::new()
|
||||
//! .id(i.to_string())
|
||||
//! .ty("example.test")
|
||||
//! .source("localhost")
|
||||
//! .extension("ext-name", "AMQP")
|
||||
//! .data("application/json", value)
|
||||
//! .build()
|
||||
//! .unwrap();
|
||||
//!
|
||||
//! let event_message = EventMessage::from_binary_event(event).unwrap();
|
||||
//! let message = AmqpMessage::from(event_message);
|
||||
//! sender.send(message).await.unwrap()
|
||||
//! .accepted_or("not accepted").unwrap();
|
||||
//!
|
||||
//! sender.close().await.unwrap();
|
||||
//! session.end().await.unwrap();
|
||||
//! connection.close().await.unwrap();
|
||||
//! }
|
||||
//! ```
|
||||
//!
|
||||
//! To receiver CloudEvents
|
||||
//!
|
||||
//! ```rust
|
||||
//! use fe2o3_amqp::{Connection, Receiver, Session};
|
||||
//! use cloudevents::{EventBuilderV10, binding::fe2o3_amqp::{EventMessage, AmqpMessage}};
|
||||
//!
|
||||
//! // You need a running AMQP 1.0 broker to try out this example.
|
||||
//! // With docker: docker run -it --rm -e ARTEMIS_USERNAME=guest -e ARTEMIS_PASSWORD=guest -p 5672:5672 vromero/activemq-artemis
|
||||
//!
|
||||
//! #[tokio::main]
|
||||
//! async fn main() {
|
||||
//! let mut connection =
|
||||
//! Connection::open("cloudevents-sdk-rust", "amqp://guest:guest@localhost:5672")
|
||||
//! .await
|
||||
//! .unwrap();
|
||||
//! let mut session = Session::begin(&mut connection).await.unwrap();
|
||||
//! let mut receiver = Receiver::attach(&mut session, "receiver", "q1").await.unwrap();
|
||||
//!
|
||||
//! let delivery = receiver.recv().await.unwrap();
|
||||
//! receiver.accept(&delivery).await.unwrap();
|
||||
//!
|
||||
//! let event_message = EventMessage::from(delivery.into_message());
|
||||
//! let event = MessageDeserializer::into_event(event_message).unwrap();
|
||||
//!
|
||||
//! sender.close().await.unwrap();
|
||||
//! session.end().await.unwrap();
|
||||
//! connection.close().await.unwrap();
|
||||
//! }
|
||||
//! ```
|
||||
|
||||
use std::convert::TryFrom;
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
pub mod actix;
|
||||
#[cfg(feature = "axum")]
|
||||
pub mod axum;
|
||||
#[cfg_attr(docrs, doc(cfg(feature = "fe2o3-amqp")))]
|
||||
#[cfg(feature = "fe2o3-amqp")]
|
||||
pub mod fe2o3_amqp;
|
||||
#[cfg(any(
|
||||
|
|
|
@ -56,6 +56,7 @@
|
|||
|
||||
#![doc(html_root_url = "https://docs.rs/cloudevents-sdk/0.5.0")]
|
||||
#![deny(rustdoc::broken_intra_doc_links)]
|
||||
#![cfg_attr(docsrs, feature(doc_cfg))] // Show feature gate in doc
|
||||
|
||||
pub mod binding;
|
||||
pub mod event;
|
||||
|
|
Loading…
Reference in New Issue