pub(crate) mod client_events;
pub mod config;
mod contract;
#[cfg(any(test, feature = "testing", feature = "redb"))]
pub use contract::storages;
pub mod generated;
mod message;
mod node;
pub use node::{EventLoopExitReason, Node, ShutdownHandle, run_local_node, run_network_node};
mod operations;
mod ring;
mod router;
#[cfg(feature = "websocket")]
pub mod server;
mod topology;
#[cfg_attr(test, allow(dead_code))]
pub mod tracing;
pub mod transport;
pub mod util;
mod wasm_runtime;
pub mod simulation;
pub mod local_node {
use super::*;
pub use contract::Executor;
pub use contract::OperationMode;
pub use node::NodeConfig;
}
pub mod dev_tool {
use super::*;
pub use crate::config::{Config, GlobalTestMetrics};
pub use client_events::{
AuthToken, ClientEventsProxy, ClientId, OpenRequest, test::MemoryEventsGen,
test::NetworkEventGenerator,
};
pub use contract::{
Executor, OperationMode, clear_crdt_contracts, is_crdt_contract, register_crdt_contract,
storages::Storage,
};
pub use flatbuffers;
pub use message::Transaction;
pub use node::{
InitPeerNode, NetworkStats, NodeConfig, PeerId,
testing_impl::{
ChurnConfig, ContractDistribution, ControlledEventChain, ControlledSimulationResult,
ConvergedContract, ConvergenceResult, DivergedContract, EventChain, EventSummary,
NetworkPeer, NodeLabel, OperationStats, OperationSummary, PeerMessage, PeerStatus,
PutOperationStats, RunningNode, ScheduledOperation, SimNetwork, SimOperation,
TurmoilConfig, TurmoilResult, UpdateOperationStats, check_convergence_from_logs,
run_turmoil_simulation,
},
};
pub use ring::Location;
pub use transport::{TransportKeypair, TransportPublicKey};
#[cfg(any(test, feature = "testing"))]
pub use crate::operations::get::op_ctx_task::DRIVER_CALL_COUNT as GET_DRIVER_CALL_COUNT;
#[cfg(any(test, feature = "testing"))]
pub use crate::operations::get::op_ctx_task::RELAY_DRIVER_CALL_COUNT as GET_RELAY_DRIVER_CALL_COUNT;
pub use crate::tracing::state_verifier::{StateAnomaly, StateVerifier, VerificationReport};
pub use ring::topology_registry::{
ContractSubscription, ProximityViolation, TopologySnapshot, TopologyValidationResult,
clear_all_topology_snapshots, clear_current_network_name, clear_topology_snapshots,
get_all_topology_snapshots, get_current_network_name, get_topology_snapshot,
register_topology_snapshot, set_current_network_name, validate_topology,
validate_topology_from_snapshots,
};
pub use wasm_runtime::{
ContractStore, DelegateStore, MockStateStorage, Runtime, SecretsStore, StateStore,
};
pub use crate::simulation::{
FaultConfig, FaultConfigBuilder, Partition, SimulationRng, TimeSource, VirtualTime,
WakeupId,
};
pub use crate::node::{FaultInjectorState, get_fault_injector, set_fault_injector};
pub use crate::client_events::RequestId;
pub use crate::contract::reset_event_id_counter;
pub use crate::node::reset_channel_id_counter;
pub use crate::test_utils::reset_global_node_index;
pub use crate::transport::StreamId;
pub use crate::transport::reset_nonce_counter;
}
#[cfg(any(test, feature = "testing"))]
pub mod deadlock_detection;
pub mod test_utils;