Hi Devs,

In my attempts to proxy CURVE while sticking to ZMTP, I have failed until now. I still think it is possible, but I cannot afford spending more time on it. If someone can go on, you are welcome.

Everything is in one commit here - the code is simple : https://github.com/lalebarde/libzmq/commit/8e321dde5a96b9ce185ab1016adcf42b4f233257#commitcomment-4783956

For that purpose, I have created a NOP mechanism, with no handcheck and intended for the proxy, plus a surrogate feature that enables a socket to build its mechanism on what it has been configured for instead of on the peer's greeting, and to send a greeting mechanism different from the configured one. In other words, the surrogate feature makes it possible to avoid any mechanism transaction.

The test "test_surrogate_curve.cpp" fails to proxy CURVE via a NOP proxy:
Client (DEALER, CURVE) --------- (NOP, ROUTER) Proxy (ROUTER, NOP) ------------ (CURVE, DEALER) Worker

What happens is that the curve_client_t object DTORs just after having sent the HELLO command. At least, if I change CURVE to NOP in the client and worker, the test passes, either with use of surrogation with any mechanism or not using surrogation at all.

I remain available for any question. Following Pieter advices, I am going to try another way, with a ZMQ_STREAM proxy.

Cheers,


Laurent.


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

Reply via email to