[](https://travis-ci.org/savonarola/smppex)
# Smppex
SMPP 3.4 protocol and framework implementation in [Elixir](http://elixir-lang.org)
## Installation
If [available in Hex](https://hex.pm/docs/publish), the package can be installed as:
1. Add `smppex` to your list of dependencies in `mix.exs`:
```elixir
def deps do
[{:smppex, "~> 0.1.0"}]
end
```
2. Ensure `smppex` is started before your application:
```elixir
def application do
[applications: [:smppex]]
end
```
## Running benchmarks
In asynchronous mode with specified window:
mix run benchmarks/async.exs 33333 100000 100
17:35:56.420 [info] Starting MC on port 33333
17:35:56.481 [info] Starting ESME with window 100
17:35:56.516 [info] Sending 100000 PDUs...
17:36:04.205 [info] All PDUs sent, all resps received, terminating
17:36:04.205 [info] ESME stopped
17:36:04.207 [info] Completed in 7688ms with avg rate 13007.284079084287 pdu/s
17:36:04.214 [info] mc_conn #PID<0.193.0>, socket closed, stopping
In synchronous mode:
mix run benchmarks/sync.exs 33333 100000
17:36:12.682 [info] Starting MC on port 33333
17:36:12.749 [info] Starting synchronous ESME
17:36:12.799 [info] Sending 100000 PDUs...
17:36:28.489 [info] Completed in 15688ms with avg rate 6374.298827129016 pdu/s