State of WAMP 1 and 2

#1

Hello,

I tried to use as much examples as I could but I’m starting to see differences between some of them.

What part of the code cover WAMP 1, what part cover WAMP 2, and are they forward compatible (the code and the protocol) ?

E.G: sometime I see registerForPubSub(), sometime I see session.register.

Also I’m not sure what is considered the stable version of autobahn.

E.G: some examples use manual reactor setup, some use ApplicationRunner. But the later is not available in the pypi distribution, while the version seems to be the same. The version in init.py is, however, the same. Is master a developpment branch or a stable one ?

Thank you for your patience

0 Likes

#2

Everything in the git repo except for the “wamp1” folders is WAMP 2. Autobahn.ws was recently updated to show WAMP 2 usage.

···

Michel Desmoulin desmou...@gmail.com wrote:

Hello,

I tried to use as much examples as I could but I’m starting to see differences between some of them.

What part of the code cover WAMP 1, what part cover WAMP 2, and are they forward compatible (the code and the protocol) ?

E.G: sometime I see registerForPubSub(), sometime I see session.register.

Also I’m not sure what is considered the stable version of autobahn.

E.G: some examples use manual reactor setup, some use ApplicationRunner. But the later is not available in the pypi distribution, while the version seems to be the same. The version in init.py is, however, the same. Is master a developpment branch or a stable one ?

Thank you for your patience

Sent from my Android device with K-9 Mail. Please excuse my brevity.

0 Likes

#3

Hello,

I tried to use as much examples as I could but I'm starting to see
differences between some of them.

What part of the code cover WAMP 1, what part cover WAMP 2, and are they
forward compatible (the code and the protocol) ?

WAMP 1 should be considered deprecated. The v2 of the protocol has significant changes, and - apart from the concepts - compatibility is not a goal (neither protocol, nor API).

E.G: sometime I see registerForPubSub(), sometime I see session.register.

"registerForPubSub" is WAMP 1, and is for setting up a topic to be brokered by the WAMP broker.

"session.register" is WAMP 2, and is for registering a procedure for remoting. Something totally different from the former, and not possible with WAMP 1 at all.

Also I'm not sure what is considered the stable version of autobahn.

Technically, we to tag each release of AutobahnXXX using Git tags. E.g.

https://github.com/tavendo/AutobahnPython/tree/v0.8.7

is the latest AutobahnPython release. And revisions tagged like this will be released on PyPi also.

Project-wise, we are right now still in a phase of flux (after a longer period of steady-state where Autobahn was WebSocket + WAMP1 + Twisted-only).

Over the last months, we broadened support from Twisted-only, to asyncio and Python 3. And of course WAMP 2. We are right now preparing to support WAMP 2 on asyncio as well

But things are stabilizing again. Sorry, I definitely understand this flux and lack of polished, consistent docs/information is not ideal.

E.G: some examples use manual reactor setup, some use ApplicationRunner.
But the later is not available in the pypi distribution, while the
version seems to be the same. The version in __init__.py is, however,
the same. Is master a developpment branch or a stable one ?

Master/trunk is development, and things might be broken there.

ApplicationRunner will come with 0.8.8 .. will try to push a release today. But I want WAMP/asyncio to land in 0.8.8 also .. nearly done.

Thank you for your patience

Thanks for your feedback! That's very welcome ..

Cheers,
/Tobias

···

Am 11.04.2014 10:08, schrieb Michel Desmoulin:

--
You received this message because you are subscribed to the Google
Groups "Autobahn" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to autobahnws+...@googlegroups.com
<mailto:autobahnws+...@googlegroups.com>.
For more options, visit https://groups.google.com/d/optout.

0 Likes

#4

Everything in the git repo except for the "wamp1" folders is WAMP 2.

Yep, exactly.

WAMP 1 Implementation:

https://github.com/tavendo/AutobahnPython/tree/master/autobahn/autobahn/wamp1

WAMP 1 Examples:

https://github.com/tavendo/AutobahnPython/tree/master/examples/twisted/wamp1

Everything else is WAMP 2.

The WAMP 1 implementation will be removed with 0.9.

The WAMP 1 examples: well, ideally migrated to WAMP 2 ..

···

Am 11.04.2014 10:13, schrieb Nick Guenther:

Autobahn.ws <http://Autobahn.ws> was recently updated to show WAMP 2 usage.

Michel Desmoulin <desmoul...@gmail.com> wrote:

    Hello,

    I tried to use as much examples as I could but I'm starting to see
    differences between some of them.

    What part of the code cover WAMP 1, what part cover WAMP 2, and are
    they forward compatible (the code and the protocol) ?

    E.G: sometime I see registerForPubSub(), sometime I see
    session.register.

    Also I'm not sure what is considered the stable version of autobahn.

    E.G: some examples use manual reactor setup, some use
    ApplicationRunner. But the later is not available in the pypi
    distribution, while the version seems to be the same. The version in
    __init__.py is, however, the same. Is master a developpment branch
    or a stable one ?

    Thank you for your patience

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.

--
You received this message because you are subscribed to the Google
Groups "Autobahn" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to autobahnws+...@googlegroups.com
<mailto:autobahnws+...@googlegroups.com>.
For more options, visit https://groups.google.com/d/optout.

0 Likes

#5

As usual, thank you for you quick and clear answer.

···

On Friday, April 11, 2014 10:08:03 AM UTC+2, Michel Desmoulin wrote:

Hello,

I tried to use as much examples as I could but I’m starting to see differences between some of them.

What part of the code cover WAMP 1, what part cover WAMP 2, and are they forward compatible (the code and the protocol) ?

E.G: sometime I see registerForPubSub(), sometime I see session.register.

Also I’m not sure what is considered the stable version of autobahn.

E.G: some examples use manual reactor setup, some use ApplicationRunner. But the later is not available in the pypi distribution, while the version seems to be the same. The version in init.py is, however, the same. Is master a developpment branch or a stable one ?

Thank you for your patience

0 Likes