Skip to content

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 ​

FeatureStatusExtensionsRoadmap
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 ​

FeatureStatusExtensionsRoadmap
Ordering GuaranteesPartial, see NC1Yes
Subscription (and Subscription ID) to be shared amongst subscribers to the same topic.❌
see NC2
No

Routed RPC Features ​

FeatureStatusExtensionsRoadmap
Registration (and Registration ID) to be shared amongst callees❌
see NC2
No

Advanced Profile ​

General Features ​

FeatureStatusExtensionsRoadmap
Challenge-response authentication✔️
Ticket authentication✔️Allows Single Sign-on to multiple realms
Cookie authentication❌No

Pub/Sub Features ​

FeatureStatusExtensionsRoadmap
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 ​

FeatureStatusExtensionsRoadmap
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

Non-compliance Cases ​

NC1 ​

NC2 ​

NC3 ​

Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution-ShareAlike (CC-BY-SA) 4.0 International license.
Bondy and Leapsight are registered trademarks of Leapsight Technologies Ltd.