SMPPEX
ranch
Our great sponsors
SMPPEX | ranch | |
---|---|---|
2 | 3 | |
104 | 1,175 | |
3.8% | 1.0% | |
0.0 | 5.6 | |
over 1 year ago | 4 months ago | |
Elixir | Erlang | |
MIT License | ISC License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
SMPPEX
-
Protocols vs. Behaviours in Elixir: Additional Thoughts
I develop a small library SMPPEX, and there I have a module and Behaviour named Session. It's only important that it wraps and extends GenServer, i.e.
-
Why SOLID may be useful for you in Elixir
Even if this functionality is worth being included (and it actually is), we often want to have different "tiers" of support for our code. Our "core" code should be well tested, well documented and have wider compatibility (and in case of SMPPEX it really is: see documentation and compatibility matrix).
ranch
-
Oh Erlang... where have you been all my life?
RE: HTTP/Web Sockets/TCP/UDP/etc. - check out NineNines libraries: Ranch (TCP Socket Acceptor), Cowboy (HTTP Server), Gun (HTTP client), and CowLib (General HTTP/SPDY library) are pretty good from what I hear.
-
Build an Elixir Redis Server that's 100x faster than HTTP
Ranch is a pretty well optimized and battle hardened tcp acceptor. It powers the Cowboy/Phoenix server which scales to extreme level of concurrency and low latency. Cowboy uses ranch to pool and accept connections and I believe it uses {active,once}.
https://github.com/ninenines/cowboy
https://github.com/ninenines/ranch
-
Why SOLID may be useful for you in Elixir
SMPPEX is based on ranch and handles TCP connections in the following way:
What are some alternatives?
elixir-sippet - An Elixir library designed to be used as SIP protocol middleware.
cowboy - Small, fast, modern HTTP server for Erlang/OTP.
exprotobuf - Protocol Buffers in Elixir made easy!
cowlib - Support library for manipulating Web protocols.
elixir_radius - RADIUS Protocol on Elixir
gun - HTTP/1.1, HTTP/2, Websocket client (and more) for Erlang/OTP.
grpc-elixir - An Elixir implementation of gRPC
voomex - Send and receive SMPP messages via HTTP API
msgpax - High-performance and comprehensive MessagePack implementation for Elixir / msgpack.org[Elixir]
telemetry - Dynamic dispatching library for metrics and instrumentations.
riffed - Provides idiomatic Elixir bindings for Apache Thrift
Tino - A one-of-a-kind, stupid fast, Python API using Redis Protocol and MsgPack