macro_rules! is_empty_option_vec {
( $v: expr ) => {
$v.is_none() || $v.as_ref().unwrap().is_empty()
};
}
mod identity_token;
mod services;
#[cfg(feature = "discovery-server-registration")]
mod discovery;
mod session_diagnostics;
#[cfg(feature = "http")]
pub mod http;
pub mod address_space;
pub mod builder;
pub mod callbacks;
pub mod comms;
pub mod config;
pub mod continuation_point;
pub mod diagnostics;
#[macro_use]
pub mod events;
pub mod historical;
pub mod metrics;
pub mod server;
pub mod session;
pub mod state;
pub mod subscriptions;
pub mod util;
pub mod prelude {
pub use crate::core::prelude::*;
pub use crate::crypto::*;
pub use crate::server::{
address_space::types::*,
address_space::{AccessLevel, EventNotifier, UserAccessLevel},
builder::*,
callbacks::*,
config::*,
events::event::*,
historical::*,
server::*,
subscriptions::*,
util::*,
};
pub use crate::types::service_types::*;
pub use crate::types::status_code::StatusCode;
pub use crate::types::*;
}
pub mod constants {
pub const DEFAULT_HELLO_TIMEOUT_SECONDS: u32 = 5;
pub const DEFAULT_RUST_OPC_UA_SERVER_PORT: u16 = 4855;
pub const DEFAULT_MAX_SUBSCRIPTIONS: usize = 100;
pub const DEFAULT_MAX_MONITORED_ITEMS_PER_SUB: usize = 1000;
pub const DEFAULT_DISCOVERY_SERVER_URL: &str = "opc.tcp://localhost:4840/UADiscovery";
pub const SUBSCRIPTION_TIMER_RATE_MS: u64 = 100;
pub const MIN_PUBLISHING_INTERVAL: f64 = (SUBSCRIPTION_TIMER_RATE_MS as f64) / 1000.0;
pub const MIN_SAMPLING_INTERVAL: f64 = (SUBSCRIPTION_TIMER_RATE_MS as f64) / 1000.0;
pub const MAX_DATA_CHANGE_QUEUE_SIZE: usize = 10;
pub const DEFAULT_MONITORED_ITEM_CAPACITY: usize = 100;
pub const HELLO_TIMEOUT_POLL_MS: u64 = 500;
pub const MAX_SESSION_TIMEOUT: f64 = 60000f64;
pub const MAX_REQUEST_MESSAGE_SIZE: u32 = 32768;
pub const DEFAULT_KEEP_ALIVE_COUNT: u32 = 10;
pub const MAX_KEEP_ALIVE_COUNT: u32 = 30000;
pub const MAX_BROWSE_CONTINUATION_POINTS: usize = 20;
pub const MAX_HISTORY_CONTINUATION_POINTS: usize = 10;
pub const MAX_QUERY_CONTINUATION_POINTS: usize = 10;
pub const MAX_NODES_PER_TRANSLATE_BROWSE_PATHS_TO_NODE_IDS: usize = 10;
pub const MAX_NODES_PER_READ: usize = 50;
pub const MAX_NODES_PER_WRITE: usize = 10;
pub const MAX_NODES_PER_METHOD_CALL: usize = 10;
pub const MAX_NODES_PER_BROWSE: usize = 50;
pub const MAX_NODES_PER_REGISTER_NODES: usize = 10;
pub const MAX_NODES_PER_NODE_MANAGEMENT: usize = 100;
pub const MAX_MONITORED_ITEMS_PER_CALL: usize = 10;
pub const MAX_NODES_PER_HISTORY_READ_DATA: usize = 10;
pub const MAX_NODES_PER_HISTORY_READ_EVENTS: usize = 10;
pub const MAX_NODES_PER_HISTORY_UPDATE_DATA: usize = 10;
pub const MAX_NODES_PER_HISTORY_UPDATE_EVENTS: usize = 10;
}
#[cfg(test)]
mod tests;