1#![cfg_attr(not(feature = "std"), no_std)]
8
9extern crate alloc;
10
11mod action;
12mod client;
13mod envelope;
14mod error;
15mod keepalive;
16mod reconnect;
17pub mod runtime;
18mod sync;
19mod transport;
20
21#[cfg(feature = "websocket")]
22mod connect;
23
24#[cfg(feature = "ocpp_1_6")]
25pub mod ocpp_1_6;
26
27#[cfg(feature = "ocpp_2_0_1")]
28pub mod ocpp_2_0_1;
29
30#[cfg(feature = "ocpp_2_1")]
31pub mod ocpp_2_1;
32
33pub use ocpp_types;
38
39pub use action::Action;
40pub use client::{Client, ClientConfig};
41pub use error::{ClientError, ProtocolError};
42pub use keepalive::{KeepaliveBehavior, KeepalivePolicy};
43pub use reconnect::{ReconnectBehavior, ReconnectPolicy, Reconnector};
44pub use runtime::{Elapsed, Executor, Timer};
45pub use transport::{TransportError, TransportEvent, TransportSink, TransportStream};
46
47#[cfg(feature = "tokio-runtime")]
48pub use runtime::tokio::{TokioExecutor, TokioTimer};
49
50#[cfg(feature = "websocket")]
51pub use connect::ConnectOptions;
52
53#[cfg(feature = "websocket")]
57pub use rustls;
58
59#[cfg(feature = "websocket")]
60pub use connect::{NegotiatedClient, OcppVersion, connect, websocket_transport};
61
62#[cfg(all(feature = "websocket", feature = "ocpp_1_6"))]
63pub use connect::connect_1_6;
64
65#[cfg(all(feature = "websocket", feature = "ocpp_2_0_1"))]
66pub use connect::connect_2_0_1;
67
68#[cfg(all(feature = "websocket", feature = "ocpp_2_1"))]
69pub use connect::connect_2_1;