Archived

This forum has been archived. Please start a new discussion on GitHub.

ICEStorm - icebox publisher collocation optimisations

Hi guys,

Could you please clarify why it is not possible to use collocation optimisations between ICEStorm and an ICEStorm publisher ?

In effect, as mentionned in this thread:
=== Quote begin ===
http://www.zeroc.com/forums/help-center/3605-publisher-subscriber.html
#4
If the subscriber is running on the same machine as the IceStorm service it will use the TCP/IP loopback interface, there are no special optimizations that would allow to bypass the TCP/IP stack. Setting Ice.Default.CollocationOptimized=1 for the IceStorm service won't have any effect, IceStorm can't use the collocation optimization.

=== Quote end ===

I would have tought that if the following conditions are met:
1- The publisher is implemented as an IceBox service.
2- The ICEStorm subscriber Service runs against the same IceBox process than ICEStorm (i.e. not only on the same box but within the same process)
3- IceBox.UseSharedCommunicator is set to 1
Then both the publisher and ICEStorm should use the same communicator and thus allow collocation optimization?

I wrote a small c++ app implementing the above but it looks like the publisher still sends messages to ICEStorm trough the local loopback.

Comments

  • benoit
    benoit Rennes, France
    Hi,

    Welcome to the forums!

    IceStorm uses the blobject API to forward messages from publishers to subscribers. This API isn't supported by collocation optimization which is the reason for this limitation.

    Cheers,
    Benoit.
  • Hi Benoit,
    Thank you for such a quick answer much appreciated
    Ranx