WAMPv2 / Autobahn|Python: sneak preview


Hi all,

the WAMPv2 implementation in Autobahn|Python is approaching 80%.

I am excited that the original plan and design really works;)

Here is a sneak preview.

This is how WAMPv2 application code looks


Above contains an "application backend" and an "application frontend". The code should be self-explanatory.

Now, the cool thing is, you can run this in 2 ways:

Variant 1:

Application backend runs embedded inside the server that also runs the WAMPv2 router (=Broker+Dealer).


Variant 2:

Application backend runs as a _client_.



In both cases the frontend runs as a client.

And both variants with 100% _identical_ application code!


Also note, that this stuff can already run WAMP over WebSocket over TCP, Unix domain sockets and pipes.

In the near future WAMP will run over non-WebSocket transports as well. The machinery is totally there.

And it _already_ works with both JSON and MsgPack serialization.

Moreso: another goal is to make it work on both Twisted _and_ Asyncio.

I can't even count how many combinations of flexibility this boils down to;)