opcua/
lib.rs

1#![warn(missing_docs)]
2#![warn(unreachable_pub)]
3
4//! This is an [OPC UA](https://opcfoundation.org/about/opc-technologies/opc-ua/)
5//! server / client API implementation for Rust.
6//!
7//! The actual implementation is in other crates, this is a convenient
8//! master crate that re-exports the other crates.
9//!
10//! OPC-UA is an industry standard for information modeling and communication. It is
11//! used for control systems, IoT, etc.
12//!
13//! The OPC-UA standard is very large and complex, and implementations are often flawed.
14//! The strictness of Rust makes it a good choice for implementing OPC-UA,
15//! and the performance characteristics are useful when creating OPC-UA tooling
16//! that will run in constrained environments.
17
18pub use opcua_core::sync;
19
20#[cfg(feature = "server")]
21pub use opcua_macros::{Event, EventField};
22
23#[cfg(feature = "client")]
24#[doc(inline)]
25pub use opcua_client as client;
26#[cfg(feature = "server")]
27#[doc(inline)]
28pub use opcua_nodes as nodes;
29#[cfg(feature = "server")]
30#[doc(inline)]
31pub use opcua_server as server;
32
33#[doc(inline)]
34pub use opcua_core as core;
35#[doc(inline)]
36pub use opcua_crypto as crypto;
37#[doc(inline)]
38pub use opcua_types as types;
39
40#[cfg(feature = "xml")]
41#[doc(inline)]
42pub use opcua_xml as xml;
43
44#[cfg(feature = "generated-address-space")]
45#[doc(inline)]
46pub use opcua_core_namespace as core_namespace;