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 transportYes
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 authenticationNo

Pub/Sub Features

FeatureStatusExtensionsRoadmap
Subscriber black-/white-listing✔️
Publisher exclusion✔️
Publisher identification✔️
Publication trust-levels✔️
Subscription Meta API✔️
Pattern-based subscription✔️
Sharded subscriptionYes
Event historyYes
Topic reflectionYes

Routed RPC Features

FeatureStatusExtensionsRoadmap
Call Timeout✔️
Call Canceling✔️
Caller Identification✔️
Call Trust-levels✔️
Registration Meta API✔️
Pattern-based Registration✔️
Shared Registration✔️
Sharded RegistrationYes
Registration RevocationYes
Procedure ReflectionYes
Progressive Call ResultsYes
Progressive CallsYes

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.