int zmq::plain_mechanism_t::next_handshake_command (msg_t *msg_) { int rc = 0; switch (state) { case sending_hello: rc = produce_hello (msg_); if (rc == 0) state = waiting_for_welcome; break; case sending_welcome: rc = produce_welcome (msg_); if (rc == 0) state = waiting_for_initiate; break; case sending_initiate: rc = produce_initiate (msg_); if (rc == 0) state = waiting_for_ready; break; case sending_ready: rc = produce_ready (msg_); if (rc == 0) state = ready; break; default: errno = EAGAIN; rc = -1; } return rc; }
int zmq::curve_client_t::next_handshake_command (msg_t *msg_) { int rc = 0; switch (state) { case send_hello: rc = produce_hello (msg_); if (rc == 0) state = expect_welcome; break; case send_initiate: rc = produce_initiate (msg_); if (rc == 0) state = expect_ready; break; default: errno = EAGAIN; rc = -1; } return rc; }
int produce_hello (void *data_, const uint64_t cn_nonce_) const { return produce_hello (data_, server_key, cn_nonce_, cn_public, cn_secret); }