Re: [hybi] hybi Digest, Vol 75, Issue 4

Alexander Gödde <> Wed, 21 October 2015 15:49 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id F0AD81AD094 for <>; Wed, 21 Oct 2015 08:49:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.3
X-Spam-Status: No, score=-2.3 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_LOW=-0.7] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 3vEUnYoWCJUE for <>; Wed, 21 Oct 2015 08:49:10 -0700 (PDT)
Received: from ( []) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 234051AD09B for <>; Wed, 21 Oct 2015 08:49:10 -0700 (PDT)
Received: from ([]) by ([]) with mapi; Wed, 21 Oct 2015 08:49:08 -0700
From: =?iso-8859-1?Q?Alexander_G=F6dde?= <>
To: "" <>
Date: Wed, 21 Oct 2015 08:48:45 -0700
Thread-Topic: hybi Digest, Vol 75, Issue 4
Thread-Index: AdELacXlalEwZe6JTu+1OTIy0oo8AAArForQ
Message-ID: <>
References: <>
In-Reply-To: <>
Accept-Language: de-DE, en-US
Content-Language: en-US
acceptlanguage: de-DE, en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: <>
Subject: Re: [hybi] hybi Digest, Vol 75, Issue 4
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Server-Initiated HTTP <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 21 Oct 2015 15:49:12 -0000

>    1. Subscription/topic confusion (Michal Fojtak)
> ----------------------------------------------------------------------
> Message: 1
> Date: Tue, 20 Oct 2015 17:43:44 +0200
> From: Michal Fojtak <>
> To:
> Subject: [hybi] Subscription/topic confusion
> Message-ID:
> 	<CAHo5QGKkd2PGruw0VaRh_gd7M5o7FdDbLrcfnEQTNbYy3fAQQg
> Content-Type: text/plain; charset="utf-8"
> WAMP protocol defines two main mechanisms - RPC via registrations and
> calls, event distribution via subscribe/publish.
> Callee can register procedure and such a procedure becomes an object which
> is tracked internally by router. Router "is aware" of registrations. Caller can
> query registrations via meta API.
> This is not a story of other wamp entity - the topic. Topic as such is not stored
> anyware in the router. Router is not aware of them. Potential subscriber
> cannot query available topics. Ironically, you can query subscriptions. But
> unless somebody subscribes to it, the topic object exists only in publisher.
> It kind of contradicts the main advantage of having a central hub - router
> which is aware of all objects - procedures and topics.
> Would it be possible to "register" topics like we can register procedures?
> We can then get a list of topics. We can define and describe them. And other
> useful things.

First of all: Thanks for chiming in regarding WAMP!

It would indeed be useful to register topics to enable discovery.
While there are no implementations, there is discussion of this at

If you have any more detailed suggestions, then please add them there to get the conversation going again.

> P.S.: The subscription id is quite confusing as well. It is not really subscription
> identification. Router creates this id when a first subscriber subscribes to the
> topic. If there was a topic then we would have topic id and many subscriber
> ids for each individual subscriber which models the situation more naturally.

The spec currently leaves it open to implementations whether the relationship between subscriptionIDs and actual subscribed clients is 1-to-1 or one-to-many. 

As stated in the spec, the advantage of the latter is that it allows serializing an event once for all subscribers (if they receive the event based on the same subscription topic/matching policy, and use the same serialization). With serialization being a significant amount of the work the broker does, this is a big advantage.


Alexander Gödde