1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
//! # smpp34
//!
//! A pure-Rust implementation of the **SMPP 3.4** protocol (Short Message Peer-to-Peer):
//! PDU codec plus async ([tokio]) **client** and **server** built on a listener-trait model.
//!
//! - [`SmppClient`](client::SmppClient) binds to an SMSC as an ESME (TX / RX / TRX) and
//! sends `submit_sm` / `data_sm`; inbound `deliver_sm` and lifecycle events are delivered
//! to your [`SmppClientListener`](client::SmppClientListener).
//! - [`SmppServer`] accepts ESME binds and dispatches `submit_sm`, `data_sm`, `cancel_sm`,
//! etc. to your [`SmppServerListener`]; the [`ESME`](server::ESME) handle sends `deliver_sm`.
//! - The wire codec for every PDU lives in [`common`], including optional [`Tlv`] parameters.
//!
//! Sessions manage the SMPP timers (`session_init`, `enquire_link`, `inactivity`, `response`),
//! sequence-number windowing, and (optionally) TLS.
//!
//! See the crate README for a runnable bind → `submit_sm` example.
/// Optional PyO3 bindings (`--features python`). Compiled out of the default,
/// pyo3-free build that crates.io consumers use.
pub use register;
pub use SmppServer;
pub use SmppServerListener;
pub use ;
pub use *;
extern crate num_derive;