fe2o3_amqp_types/lib.rs
1#![cfg_attr(docsrs, feature(doc_cfg))]
2#![deny(missing_docs, missing_debug_implementations)]
3
4//! Implements AMQP1.0 data types as defined in the core [specification](http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-overview-v1.0-os.html).
5//!
6//! - [Documentation](https://docs.rs/fe2o3-amqp-types)
7//! - [Changelog](https://github.com/minghuaw/fe2o3-amqp/blob/main/fe2o3-amqp-types/Changelog.md)
8//!
9//! # Feature flags
10//!
11//! Please note that `Performative` will require both `"transport"` and `"messaging"` feature flags
12//! enabled.
13//!
14//! - `"primitive"`: enables the primitive types defined in part 1.6 in the core specification.
15//! - `"transport"`: enables most of the types defined in part 2.4, 2.5, and 2.8 of the core specifiction.
16//! - `"messaging"`: enables the types defined in part 2.7 and part 3 defined in the core specification
17//! - `"transaction"`: enables the types defined in part 4.5 of the core specification
18//! - `"security"`: enables the types defined in part 5 of the core specifiction.
19//!
20//! ```toml
21//! default = [
22//! "primitive",
23//! "transport",
24//! "messaging",
25//! "security",
26//! ]
27//! ```
28
29// List of archetypes:
30//
31// 1. "frame"
32// 2. "error-condition"
33// 3. "section"
34// 4. "message-id"
35// 5. "address"
36// 6. "delivery-state"
37// 7. "outcome"
38// 8. "source"
39// 9. "target"
40// 10. "distribution-mode"
41// 11. "lifetime-policy"
42// 12. "txn-id"
43// 13. "txn-capability"
44// 14. "sasl-frame"
45// 15.
46//
47// List of restricted types:
48//
49// 1. "role"
50// 2. "sender-settle-mode"
51// 3. "receiver-settle-mode"
52// 4. "handle"
53// 5. "seconds"
54// 6. "milliseconds"
55// 7. "delivery-tag"
56// 8. "delivery-number"
57// 9. "transfer-number"
58// 10. "sequence-no"
59// 11. "message-format"
60// 12. "ietf-language-tag"
61// 13. "fields"
62// 14. "amqp-error"
63// 15. "connection-error"
64// 16. "session-error"
65// 17. "link-error"
66// 18. "delivery-annotations"
67// 19. "message-annotations"
68// 20. "application-properties"
69// 21. "data"
70// 22. "amqp-sequence"
71// 23. "amqp-value"
72// 24. "footer"
73// 25. "annotations"
74// 26. "message-id-ulong"
75// 27. "message-id-uuid"
76// 28. "message-id-binary"
77// 31. "message-id-string"
78// 32. "address-string"
79// 33. "terminus-durability"
80// 34. "terminus-expiry-policy"
81// 35. "std-dist-mode"
82// 36. "filter-set"
83// 37. "node-properties"
84// 38. "transaction-id"
85// 39. "txn-capability"
86// 40. "transaction-error"
87// 41. "sasl-code"
88//
89
90#[cfg_attr(docsrs, doc(cfg(feature = "primitive")))]
91#[cfg(feature = "primitive")]
92pub mod primitives;
93
94#[cfg_attr(docsrs, doc(cfg(feature = "transport")))]
95#[cfg(feature = "transport")]
96pub mod definitions;
97
98#[cfg_attr(docsrs, doc(cfg(feature = "messaging")))]
99#[cfg(feature = "messaging")]
100pub mod messaging;
101
102#[cfg_attr(docsrs, doc(cfg(all(feature = "transport", feature = "messaging"))))]
103#[cfg(all(feature = "transport", feature = "messaging"))]
104pub mod performatives;
105
106#[cfg_attr(docsrs, doc(cfg(feature = "security")))]
107#[cfg(feature = "security")]
108pub mod sasl;
109
110#[cfg_attr(docsrs, doc(cfg(feature = "transport")))]
111#[cfg(feature = "transport")]
112pub mod states;
113
114#[cfg_attr(docsrs, doc(cfg(feature = "transaction")))]
115#[cfg(feature = "transaction")]
116pub mod transaction;