Skip to content

J93d/smpp-codec-ffi

Repository files navigation

smpp-codec-ffi

FFI bindings for the smpp-codec crate, powered by UniFFI.

This crate provides high-performance, safe, and easy-to-use bindings to the smpp-codec library for multiple programming languages.

Warning

Disclaimer: Portions of this codebase were generated by Artificial Intelligence. While efforts have been made to ensure correctness, users should review and test the code thoroughly before using it in production environments.

Features

  • Multi-language Support: Seamless integration for Python, Kotlin, and Swift.
  • Full SMPP PDU Coverage: Support for all standard SMPP PDUs (Bind, Submit, Deliver, Data, Broadcast, etc.).
  • Message Splitting: Built-in support for splitting long messages into concatenated SMS (UDH/SAR).
  • TLV Support: Easy handling of Optional Parameters (Tags).
  • Memory Safe: Leverages Rust's memory safety guarantees across the FFI boundary.

Supported Languages

  • Python (via Maturin)
  • Java/Kotlin (via UniFFI/JNA)
  • Swift (via UniFFI)

Usage

Generated bindings and shared libraries are available in the GitHub Actions artifacts.

Examples

Comprehensive multi-threaded examples for each language can be found in the examples directory:

Documentation

The API documentation is strictly compliant with RFC 1574.

License

This project is licensed under the Apache 2.0.

About

FFI bindings for the smpp-codec crate using UniFFI

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors