Compliance
This section describes how compliant is Bondy's WAMP implementation.
Overview
Bondy tries to be as compliant as possible with the WAMP Specification. However, because the specification was not designed from the ground up to consider a distributed router there are some requirements we cannot (and/or we do not want to) be compliant with.
The following two sections go into a detail compliance analysis listing what WAMP features Bondy implement and those cases in which Bondy does not comply with the Specification. In those particular cases you will also find an explanation of the rationale and the roadmap behind them.
Basic Profile
General Features
Feature | Status | Extensions | Roadmap |
---|---|---|---|
Web Socket transport | ✔️ | ||
Batched Web Socket transport | ❌ | Yes | |
Raw Socket transport | ✔️ | ||
Longpoll transport | ❌ | ||
Transport and Session Lifetime | ✔️ Each session establishes a new transport connection | ||
Close session and connection on protocol errors | ✔️ | ||
Serializations: Support JSON and Msgpack | ✔️ | BERT, Erlang (subset) | CBOR, Flatbuffers |
Validation of custom attribute keys using regex | ✔️ | ||
No Polymorphism, avoid empty arguments and keyword arguments | ✔️ | ||
Agent Identification | ✔️ | ||
Session Meta API | ✔️ |
Pub/Sub Features
Feature | Status | Extensions | Roadmap |
---|---|---|---|
Ordering Guarantees | Partial, see NC1 | Yes | |
Subscription (and Subscription ID) to be shared amongst subscribers to the same topic. | ❌ see NC2 | No |
Routed RPC Features
Feature | Status | Extensions | Roadmap |
---|---|---|---|
Registration (and Registration ID) to be shared amongst callees | ❌ see NC2 | No |
Advanced Profile
General Features
Feature | Status | Extensions | Roadmap |
---|---|---|---|
Challenge-response authentication | ✔️ | ||
Ticket authentication | ✔️ | Allows Single Sign-on to multiple realms | |
Cookie authentication | ❌ | No |
Pub/Sub Features
Feature | Status | Extensions | Roadmap |
---|---|---|---|
Subscriber black-/white-listing | ✔️ | ||
Publisher exclusion | ✔️ | ||
Publisher identification | ✔️ | ||
Publication trust-levels | ✔️ | ||
Subscription Meta API | ✔️ | ||
Pattern-based subscription | ✔️ | ||
Sharded subscription | ❌ | Yes | |
Event history | ❌ | Yes | |
Topic reflection | ❌ | Yes |
Routed RPC Features
Feature | Status | Extensions | Roadmap |
---|---|---|---|
Call Timeout | ✔️ | ||
Call Canceling | ✔️ | ||
Caller Identification | ✔️ | ||
Call Trust-levels | ✔️ | ||
Registration Meta API | ✔️ | ||
Pattern-based Registration | ✔️ | ||
Shared Registration | ✔️ | ||
Sharded Registration | ❌ | Yes | |
Registration Revocation | ❌ | Yes | |
Procedure Reflection | ❌ | Yes | |
Progressive Call Results | ❌ | Yes | |
Progressive Calls | ❌ | Yes |