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

How I can control the publisher's speed in IceStorm?

I have another problem when I test the IceStorm:
I partition a file to some packages(4k).
And the publisher send a file(the file size >20M) to a subscriber, the subscriber receive slowly, when the publisher have finished, the subscriber received 30% only. That is said, the IceStorm stored the file data in a cache. But At last the subscriber can't receive the full file.

How can I control the publisher's speed to match the subscriber?

Thanks a lot.


  • matthew
    matthew NL, Canada
    You cannot and that is the really the one of the key points of the service. The publisher and subscribers are supposed to be unaware of one another. If you need them to be aware of each other then you probably should not use IceStorm at all for the transfer.

    If you only have one publisher and one subscriber IceStorm is not the correct service to use since it is meant to be used for point to many-point (similar to IP multi-cast).

    If you do have multiple publishers and subscribers then you might consider negotiating another connection through IceStorm and then sending the transfer data directly.

    It really sounds to me like you need some help on your object model and communications infrastructure. If you are interested you should contact

    Best Regards, Matthew
  • Thanks.
    I want to uses one publisher to some subscribers. So I use IceStorm.
    But can I decrease the cache(the length of the queue) in IceStorm server?
  • matthew
    matthew NL, Canada
    No, that isn't possible... but what would that accomplish? Then you would end up throwing out messages which surely is not what you want.