Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zduny/mezzenger
Message passing infrastructure for Rust.
https://github.com/zduny/mezzenger
message message-passing message-passing-interface websockets webworker
Last synced: 11 days ago
JSON representation
Message passing infrastructure for Rust.
- Host: GitHub
- URL: https://github.com/zduny/mezzenger
- Owner: zduny
- License: apache-2.0
- Created: 2022-10-25T08:38:46.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2023-09-19T20:59:19.000Z (about 1 year ago)
- Last Synced: 2024-03-19T16:32:11.592Z (8 months ago)
- Topics: message, message-passing, message-passing-interface, websockets, webworker
- Language: Rust
- Homepage: https://docs.rs/mezzenger/
- Size: 187 KB
- Stars: 10
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# mezzenger
[![Test Status](https://github.com/zduny/mezzenger/actions/workflows/rust.yml/badge.svg)](https://github.com/zduny/mezzenger/actions)
Message passing infrastructure for Rust.
https://crates.io/crates/mezzenger
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/O5O31JYZ4)
## transport implementations
| Create | Native | Browser | Description |
|:-------------------------------------------------------------------------------------------------------------|:------------:|:-------------:|:-----------------------------------------------------------------------------------------------------------------------|
| [mezzenger-tcp](https://github.com/zduny/mezzenger/tree/master/mezzenger-tcp) | ✅ | *n/a* | Transport over [Tokio](https://tokio.rs/) TCP implementation. |
| [mezzenger-udp](https://github.com/zduny/mezzenger/tree/master/mezzenger-udp) | ✅ | *n/a* | Transport over [Tokio](https://tokio.rs/) UDP implementation. |
| [mezzenger-dtls](https://github.com/zduny/mezzenger/tree/master/mezzenger-dtls) | *wip* | *n/a* | Transport over DTLS implementation. |
| [mezzenger-webworker](https://github.com/zduny/mezzenger/tree/master/mezzenger-webworker) | *n/a* | ✅ | Communication with [Web Workers](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers). |
| [mezzenger-websocket](https://github.com/zduny/mezzenger/tree/master/mezzenger-websocket) | ✅ | ✅ | Transport over [WebSockets](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API). |
| [mezzenger-channel](https://github.com/zduny/mezzenger/tree/master/mezzenger-channel) | ✅ | ✅ | Transport over [futures](https://github.com/rust-lang/futures-rs) channels. |## description
The goal of `mezzenger` project is to create and maintain a set of crates that make it easy to pass messages
over the network and network-like interfaces.Other **goals**:
- maintaining similar interface across transport implementations,
- providing (where applicable) implementations that work both on native and browser WASM targets,
- development of various utilities that make it easy to layer/compose transports of different types and/or properties (see [mezzenger-utils](https://github.com/zduny/mezzenger/tree/master/mezzenger-utils)).**Non**-goals:
- encryption - if required it should be handled by the underlying transport,
- Node.js WASM targets - contributions are welcome, but they won't be developed/maintained by the [author](https://github.com/zduny) of this project,
- best possible performance - implementations are supposed to be decent, without obvious areas for improvement, but if you need to save every bit of bandwidth you'd likely be better served by a custom application-specific protocol.## example
See [rust-webapp-template](https://github.com/zduny/rust-webapp-template).
## see also
[mezzenger-utils](https://github.com/zduny/mezzenger/tree/master/mezzenger-utils) - utilities for `mezzenger`.
[zzrpc](https://github.com/zduny/zzrpc) - remote procedure call over `mezzenger` transports.
[kodec](https://github.com/zduny/kodec)