Identities re-introduced

However, the "durable socket" behaviour wasn't re-added.
Identities are used solely for routing in REQ/REP pattern.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
This commit is contained in:
Martin Sustrik
2011-11-04 08:00:47 +01:00
parent d20ea25b8c
commit a4843b65d2
14 changed files with 154 additions and 63 deletions

View File

@@ -1,6 +1,7 @@
/*
Copyright (c) 2009-2011 250bpm s.r.o.
Copyright (c) 2007-2009 iMatix Corporation
Copyright (c) 2011 VMware, Inc.
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
This file is part of 0MQ.
@@ -28,6 +29,7 @@
#include "object.hpp"
#include "stdint.hpp"
#include "array.hpp"
#include "blob.hpp"
namespace zmq
{
@@ -71,8 +73,8 @@ namespace zmq
void set_event_sink (i_pipe_events *sink_);
// Pipe endpoint can store an opaque ID to be used by its clients.
void set_pipe_id (uint32_t id_);
uint32_t get_pipe_id ();
void set_identity (const blob_t &identity_);
blob_t get_identity ();
// Returns true if there is at least one message to read in the pipe.
bool check_read ();
@@ -183,8 +185,8 @@ namespace zmq
// asks us to.
bool delay;
// Opaque ID. To be used by the clients, not the pipe itself.
uint32_t pipe_id;
// Identity of the writer. Used uniquely by the reader side.
blob_t identity;
// Returns true if the message is delimiter; false otherwise.
static bool is_delimiter (msg_t &msg_);