WAMP AP: RawSocket revision

#1

Hi all,

I've consolidated the revision of RawSocket transport in the WAMP Advanced Profile in the spec:

https://github.com/tavendo/WAMP/blob/rawsocket/spec/advanced.md#rawsocket-transport

The revision brings the following benefits. RawSocket ..

1. can run with different serializers on 1 port
2. can run along with WebSocket and LongPoll on 1 port
3. now has transport level ping/pong for fast connection loss detection
4. now has negotiation for maximum message sizes

With 4., it should be possible to bring WAMP to tiny microcontroller using less than 2KB RAM.

The latter might require a different serializer (one that works "in-place"), but that can be done later: https://github.com/tavendo/WAMP/issues/72

If there are no final objections, we move RawSocket to "stable" in the AP.

This will then:

* close https://github.com/tavendo/WAMP/issues/63
* reject https://github.com/tavendo/WAMP/issues/90
* reject https://github.com/tavendo/WAMP/issues/3

Regarding Autobahn, this will need updates to AutobahnPython and AutobahnCpp (the only 2 Autobahn's that have RawSocket right now).

Cheers,
/Tobias

0 Likes

#2

Hi mogui,

Hi Tobias,
are these changes confirmed and gone inside AutobahnPython / crossbar.io ?

The changes to the spec are "confirmed" (result of a longer thread/discussion) and definite.

This is not yet implemented in AutobahnPython. I have now added an issue for this:

https://github.com/tavendo/AutobahnPython/issues/291

Crossbar.io will automatically have it when above is resolved.

AutobahnCpp also needs update: https://github.com/tavendo/AutobahnCpp/issues/15

I know this situation is suboptimal .. in particular for implementors:(

I have filed above as "bugs" .. so it will attract my attention soon again;)

Cheers,
/Tobias

···

Am 06.11.2014 17:24, schrieb mogui:

On Monday, 1 September 2014 13:54:37 UTC+2, Tobias Oberstein wrote:

    Hi all,

    I've consolidated the revision of RawSocket transport in the WAMP
    Advanced Profile in the spec:

    https://github.com/tavendo/WAMP/blob/rawsocket/spec/advanced.md#rawsocket-transport
    <https://github.com/tavendo/WAMP/blob/rawsocket/spec/advanced.md#rawsocket-transport>

    The revision brings the following benefits. RawSocket ..

    1. can run with different serializers on 1 port
    2. can run along with WebSocket and LongPoll on 1 port
    3. now has transport level ping/pong for fast connection loss detection
    4. now has negotiation for maximum message sizes

    With 4., it should be possible to bring WAMP to tiny microcontroller
    using less than 2KB RAM.

    The latter might require a different serializer (one that works
    "in-place"), but that can be done later:
    https://github.com/tavendo/WAMP/issues/72
    <https://github.com/tavendo/WAMP/issues/72>

    If there are no final objections, we move RawSocket to "stable" in
    the AP.

    This will then:

    * close https://github.com/tavendo/WAMP/issues/63
    <https://github.com/tavendo/WAMP/issues/63>
    * reject https://github.com/tavendo/WAMP/issues/90
    <https://github.com/tavendo/WAMP/issues/90>
    * reject https://github.com/tavendo/WAMP/issues/3
    <https://github.com/tavendo/WAMP/issues/3>

    Regarding Autobahn, this will need updates to AutobahnPython and
    AutobahnCpp (the only 2 Autobahn's that have RawSocket right now).

    Cheers,
    /Tobias

--
You received this message because you are subscribed to the Google
Groups "WAMP" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to wampws+un...@googlegroups.com
<mailto:wampws+un...@googlegroups.com>.
To post to this group, send email to wam...@googlegroups.com
<mailto:wam...@googlegroups.com>.
Visit this group at http://groups.google.com/group/wampws.
To view this discussion on the web visit
https://groups.google.com/d/msgid/wampws/001507d4-0309-4a09-948a-198f65f6863a%40googlegroups.com
<https://groups.google.com/d/msgid/wampws/001507d4-0309-4a09-948a-198f65f6863a%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.

0 Likes