On 08/10/2010 03:13 PM, Matt Weinstein wrote:
> I figure I'll just treasure packets in the device until I know so I don't 
> have to special case the code.
>
> I haven't looked at the REQ code but figured the sender's ypipe didn't show 
> ready until the last packet of a train was received which would offer that 
> opportunity.
>
> Otherwise an uncooperative writer could hang the device waiting for no MORE 
> bit.
>    

Yes. That's the case.

Multi-part messages are just messages, nothing complex. They are 
assembled at the sender and sent in one atomic go.

Martin

>
>
>
>
>
>
> On Aug 10, 2010, at 5:29 AM, Pieter Hintjens<p...@imatix.com>  wrote:
>
>    
>> On Tue, Aug 10, 2010 at 2:30 AM, Matt Weinstein<mattweinst...@gmail.com>  
>> wrote:
>>
>>      
>>> What I'd prefer is a zmq_abort(socket) that kills the most recent
>>> train of packets, as long as a SNDMORE == 0 packet has not been sent.
>>> These are likely to be sitting in a ypipe somewhere along the chain.
>>>        
>> I suspect the frames are sent out as soon as possible.  The atomic
>> delivery is actually done by receivers.  If you want the ability to
>> abort a multipart message, you either need to build it in memory, as
>> you're doing, or else add your own operational control on top.
>>
>> Here is a simple scheme: specify that the last frame in the request is
>> an operation, either EXECUTE or CANCEL.  Then to abort a job send a
>> CANCEL frame with SNDMORE=0.
>>
>> -Pieter
>> _______________________________________________
>> zeromq-dev mailing list
>> zeromq-dev@lists.zeromq.org
>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>      
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev@lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>    

_______________________________________________
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to