Crates.io | battler-wamprat-schema |
lib.rs | battler-wamprat-schema |
version | |
source | src |
created_at | 2025-03-23 05:55:07.877904+00 |
updated_at | 2025-04-24 21:02:14.920315+00 |
description | Procedural macro for strongly-typed WAMP peers. |
homepage | |
repository | https://github.com/jackson-nestelroad/battler/tree/main/battler-wamprat-schema |
max_upload_size | |
id | 1602369 |
Cargo.toml error: | TOML parse error at line 18, column 1 | 18 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include` |
size | 0 |
battler-wamprat-schema is a supplemental crate for battler-wamprat
. It provides a procedural macro for generating consumer and producer peer objects for strongly-typed procedures and pub/sub topics.
WAMP is an open standard, routed protocol that provides two messaging patterns: Publish & Subscribe and routed Remote Procedure Calls. It is intended to connect application components in distributed applications. WAMP uses WebSocket as its default transport, but it can be transmitted via any other protocol that allows for ordered, reliable, bi-directional, and message-oriented communications.
battler-wamprat is a Rust library and framework for peers communicating over the Web Application Message Protocol (WAMP).
The library is built on battler-wamp
to provide more complex functionality:
The library uses tokio
as its asynchronous runtime, and is ready for use on top of WebSocket streams.
The battler-wamprat-schema
crate works by generating code around
battler_wamprat::peer::Peer
objects based on a schema.
A schema is a collection of procedures and pub/sub topics that are logically connected by application logic. A schema can be consumed by a consumer (a.k.a., a caller and subscriber) and produced by a producer (a.k.a., a callee and publisher).
Both consumers and producers are peers communicating via a WAMP router. When defining a schema,
the code for producer and consumer peers are automatically generated around the
battler_wamprat::peer::Peer
object. Thus, peer objects can be entirely constructed by
battler_wamprat_schema
, while all underlying functionality is provided by battler_wamprat
.