Commit 7e125117 authored by Martin Sustrik's avatar Martin Sustrik

Experimental code from zmq_init_t removed.

Signed-off-by: 's avatarMartin Sustrik <sustrik@250bpm.com>
parent 52eaf600
...@@ -51,28 +51,20 @@ zmq::zmq_init_t::zmq_init_t (io_thread_t *io_thread_, ...@@ -51,28 +51,20 @@ zmq::zmq_init_t::zmq_init_t (io_thread_t *io_thread_,
peer_identity [0] = 0; peer_identity [0] = 0;
generate_uuid (&peer_identity [1]); generate_uuid (&peer_identity [1]);
// Create a list of props to send. // Create a list of messages to send on connection initialisation.
msg_t msg;
int rc = msg.init_size (4);
errno_assert (rc == 0);
unsigned char *data = (unsigned char*) msg.data ();
put_uint16 (data, prop_type);
put_uint16 (data + 2, options.type);
msg.set_flags (msg_t::more);
to_send.push_back (msg);
if (!options.identity.empty ()) { if (!options.identity.empty ()) {
rc = msg.init_size (2 + options.identity.size ()); msg_t msg;
int rc = msg.init_size (options.identity.size ());
errno_assert (rc == 0);
memcpy (msg.data () , options.identity.data (), msg.size ());
to_send.push_back (msg);
}
else {
msg_t msg;
int rc = msg.init ();
errno_assert (rc == 0); errno_assert (rc == 0);
data = (unsigned char*) msg.data ();
put_uint16 (data, prop_identity);
memcpy (data + 2, options.identity.data (), options.identity.size ());
msg.set_flags (msg_t::more);
to_send.push_back (msg); to_send.push_back (msg);
} }
// Remove the MORE flag from the last prop.
to_send.back ().reset_flags (msg_t::more);
} }
zmq::zmq_init_t::~zmq_init_t () zmq::zmq_init_t::~zmq_init_t ()
...@@ -112,35 +104,16 @@ bool zmq::zmq_init_t::write (msg_t *msg_) ...@@ -112,35 +104,16 @@ bool zmq::zmq_init_t::write (msg_t *msg_)
if (received) if (received)
return false; return false;
// Retrieve the peer's identity, if any.
zmq_assert (!(msg_->flags () & msg_t::more));
size_t size = msg_->size (); size_t size = msg_->size ();
unsigned char *data = (unsigned char*) msg_->data (); if (size) {
unsigned char *data = (unsigned char*) msg_->data ();
// There should be at least property type in the message. peer_identity.assign (data, size);
zmq_assert (size >= 2);
uint16_t prop = get_uint16 (data);
switch (prop) {
case prop_type:
{
zmq_assert (size == 4);
// TODO: Check whether the type is OK.
// uint16_t type = get_uint16 (data + 2);
// ...
break;
};
case prop_identity:
{
peer_identity.assign (data + 2, size - 2);
break;
}
default:
zmq_assert (false);
} }
if (!(msg_->flags () & msg_t::more)) { received = true;
received = true; finalise_initialisation ();
finalise_initialisation ();
}
return true; return true;
} }
......
...@@ -47,13 +47,6 @@ namespace zmq ...@@ -47,13 +47,6 @@ namespace zmq
private: private:
// Peer property IDs.
enum prop_t
{
prop_type = 1,
prop_identity = 2
};
void finalise_initialisation (); void finalise_initialisation ();
void dispatch_engine (); void dispatch_engine ();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment