zeromq/czmq — pull request #579 by hintjens (2014-08-13 07:22:37+00:00)
Title: Problem: zauth and zbeacon don't work with new zsock API

These two classes demand a ctx argument, and it's impossible for apps
to pass the zsys singleton argument.

Solution: allow callers to pass NULL if they're using the new zsock
API. Then zauth and zbeacon will fetch the context from zsys.

Fixes #574

For next steps, I think we have to deprecate zauth and zbeacon in
their whole, and write new classes on zactor. I can't migrate zauth
to zactor without breaking existing applications (as they have to
use the same API for socket creation). So perhaps a new class,
zguard, and deprecating zauth along with the other v2 classes.

For zbeacon, it's easier as the entire class can be rewritten to
zactor and end up as a single function with an actor-style message
API:

zactor_t *beacon = zactor_new (zbeacon, "9999");
zstr_sendx (beacon, "SET INTERVAL", "250", NULL);
zframe_t *frame = zframe_recv (beacon);
... etc.