Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [hono-dev] Command and Control / Cloud to Device

On 12/03/18 16:21, Marc Pellmann wrote:
        This means for each device, that connects to an adapter the
        adapter will create a receiver link with a Hono messaging
        instance and Hono messaging with the Router network. Also a
        consumer application instance creates a sender link with the
        Router network for each device, to which it wants to send a
        command as soon as this is connected.


    Just for completeness, if using message routing, the application
    would need to have a separate link for each device it wishes to send
    to. It could use a so-called 'anonymous sender', with the address of
    the device specified in the 'to' field on the message.


I am not sure if I understand the implications of using this anonymous sender correct - could you explain it a little bit more (I did not found a further explanation in the QPID documentation)?

Basically you create a link with no target address, and then put the address in the message. So you can send a message to 'foo' then 'bar' over the same link. Does that help?

    Having a million receivers and senders attached to a router network
    and communicating using message routing is certainly realistic
    (tests of that scale have been carried out, though on bare metal
    only at present). I'm not aware of tests of link routing at that
    scale, which is not to say it is not realistic, just that it should
    be investigated further.


With the use case of sending commands to the devices, we may could use message based routing. The problem, that we do not have flow control seams not such a problem in this direction. WDYT?

If you send unsettled, then you do get flow control with message-routed traffic. The credit is not directly relayed, but messages are not silently dropped and back-pressure will be propagated. If there are no active recipients (active links with credit granted) then senders will not get credit to send messages. You can in fact use the availability of credit to send as an imperfect indication that there is a receiver on the address (or in the hone case that the device is connected).


Back to the top