3 #ifndef __ZMQ_CURVE_SERVER_HPP_INCLUDED__
4 #define __ZMQ_CURVE_SERVER_HPP_INCLUDED__
16 #pragma warning(disable : 4250)
18 class curve_server_t
ZMQ_FINAL :
public zap_client_common_handshake_t,
19 public curve_mechanism_base_t
22 curve_server_t (session_base_t *session_,
25 const bool downgrade_sub_);
29 int next_handshake_command (msg_t *msg_);
30 int process_handshake_command (msg_t *msg_);
31 int encode (msg_t *msg_);
32 int decode (msg_t *msg_);
36 uint8_t _secret_key[crypto_box_SECRETKEYBYTES];
39 uint8_t _cn_public[crypto_box_PUBLICKEYBYTES];
42 uint8_t _cn_secret[crypto_box_SECRETKEYBYTES];
45 uint8_t _cn_client[crypto_box_PUBLICKEYBYTES];
48 uint8_t _cookie_key[crypto_secretbox_KEYBYTES];
50 int process_hello (msg_t *msg_);
51 int produce_welcome (msg_t *msg_);
52 int process_initiate (msg_t *msg_);
53 int produce_ready (msg_t *msg_);
54 int produce_error (msg_t *msg_)
const;
56 void send_zap_request (
const uint8_t *key_);