On Tue, Nov 27, 2012 at 1:33 PM, Stefan de Konink <ste...@konink.de> wrote:
> On 11/27/12 13:49, Pieter Hintjens wrote: > > Please explain what you are actually trying to achieve, not in terms > > of 0MQ but in terms of the actual overall problem, and we'll be able > > to help more. > > I would like to send an incomming HTTP POST to an undefined number of > clients on the internet, having an envelope (the HTTP path) and data the > HTTP POST. The two constraint of this process is minimizing latency and > guaranteed delivery. > > In order to handle large HTTP POST each incomming HTTP request is > compressed using gzip. When the request comes in, an envelope is send, > with SND_MORE. The HTTP POST is compressed on the fly, each interation > the webserver receives data on the socket for that request, gzip is > called, and the partial result is send over a ZeroMQ socket using > SND_MORE. When the HTTP POST is completely processed no SND_MORE flag is > append. So, for an example you might want to look at how Mongrel2 handles this kind of thing. Messages flow across ZeroMQ with a connection ID and a body, and get written to the appropriate HTTP connection. So, basically, don't use SND_MORE to handle the stream, send each part individually, and include a connection identifier as a message part within each one. As Michel says, multipart messages are delivered atomically so they wont give you the behaviour you are looking for, pooling or not. Ian
_______________________________________________ zeromq-dev mailing list zeromq-dev@lists.zeromq.org http://lists.zeromq.org/mailman/listinfo/zeromq-dev