[zeromq-dev] ZMQ_STREAM interraction with ZMTP ?

Laurent Alebarde l.alebarde at free.fr
Fri Dec 6 18:01:39 CET 2013


Hi Pieter,

I have found one big show-stopper in my code below as in the one for 
test_surrogate_curve with NOP mechanism and surrogate feature:

In both cases, I am configuring the client socket with:

     int as_server = 0;
     int rc = zmq_setsockopt (worker, ZMQ_CURVE_SERVER, &as_server, 
sizeof (int));
     assert (rc == 0);

which *sets the NULL mechanism* and explain what I did observed !

This API is very not natural for me. It is said to "save" works to 
libzmq users and simplify their code, to the detriment of rationality 
IMHO, which I consider the natural way to do things.



Le 06/12/2013 16:26, Laurent Alebarde a écrit :
> Here is my test code (one single commit in my master) : 
> https://github.com/lalebarde/libzmq/commit/2d38f19249d2a4f5dcc4d1d5ec907a092d6a8266
>
> It implements:
> Client (DEALER, CURVE) ---- (STREAM) Proxy (STREAM) ----- (CURVE, 
> DEALER) Worker
>
> I have simplified it as most as possible. So only 1 client and 1 
> server are possible.
>
> What I can observe is that :
> 1) the curve_client_t object doesn't receive the curve keys set with 
> zmq_setsockopt
> 2) an unexpected null_client_t object is created
>
> So, I wonder if I use some functions with the STREAM socket I should 
> not use, and that activates the stream_engine ?
>
>
> Le 06/12/2013 14:29, Pieter Hintjens a écrit :
>> On Fri, Dec 6, 2013 at 2:21 PM, Laurent Alebarde<l.alebarde at free.fr>  wrote:
>>
>>> It is not even clear to me and cannot be seen with the debugger. I can only
>>> make deductions from the assertion that the curve socket cannot send a NULL
>>> greeting, then I assume that either it is the STREAM socket which sends it,
>>> either it is a fake of the curve socket when it receives something.
>> This makes zero sense to me, sorry.
>>
>> The curve socket can only send curve commands as defined in the CURVE RFC.
>>
>> The stream socket has to read and parse these commands.
>>
>> Why on earth are you looking at code or debugging it? The facts here
>> apply only to the protocol, i.e. what is sent on the wire.
>>
>> -Pieter
>> _______________________________________________
>> zeromq-dev mailing list
>> zeromq-dev at lists.zeromq.org
>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
>
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20131206/055ba4e4/attachment.htm>


More information about the zeromq-dev mailing list