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<[email protected]>  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
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev



_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to