From 512f3a604924fec9d89e2b4bfd6f73aa66309fa7 Mon Sep 17 00:00:00 2001 From: Martin Lucina Date: Fri, 27 Apr 2012 14:18:08 +0200 Subject: Implement protocol versioning (except PGM) Implements SP protocol versioning, legacy protocol support, and the following pattern protocol versions: PAIR: v2 PUBSUB: v1 (legacy), v3 REQREP: v1 PIPELINE: v2 SURVEY: v1 Engine support is only for stream_engine_t at this stage. Signed-off-by: Martin Lucina --- src/pipe.hpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'src/pipe.hpp') diff --git a/src/pipe.hpp b/src/pipe.hpp index c298154..dbc6b7e 100644 --- a/src/pipe.hpp +++ b/src/pipe.hpp @@ -44,7 +44,7 @@ namespace xs // pipe receives all the pending messages before terminating, otherwise it // terminates straight away. int pipepair (xs::object_t *parents_ [2], xs::pipe_t* pipes_ [2], - int hwms_ [2], bool delays_ [2], int protocol_); + int hwms_ [2], bool delays_ [2], int sp_version_); struct i_pipe_events { @@ -69,7 +69,7 @@ namespace xs // This allows pipepair to create pipe objects. friend int pipepair (xs::object_t *parents_ [2], xs::pipe_t* pipes_ [2], int hwms_ [2], bool delays_ [2], - int protocol_); + int sp_version_); public: @@ -111,8 +111,8 @@ namespace xs // before actual shutdown. void terminate (bool delay_); - // Returns the ID of the protocol associated with the pipe. - int get_protocol (); + // Returns the SP pattern version in use on this pipe. + int get_sp_version (); private: @@ -132,7 +132,7 @@ namespace xs // Constructor is private. Pipe can only be created using // pipepair function. pipe_t (object_t *parent_, upipe_t *inpipe_, upipe_t *outpipe_, - int inhwm_, int outhwm_, bool delay_, int protocol_); + int inhwm_, int outhwm_, bool delay_, int sp_version_); // Pipepair uses this function to let us know about // the peer pipe object. @@ -192,9 +192,9 @@ namespace xs // asks us to. bool delay; - // ID of the protocol to use. This value is not used by the pipe - // itself, rather it's used by the users of the pipe. - int protocol; + // SP pattern version in use on this pipe. This value is used by the + // pattern classes using the pipe, not the pipe itself. + int sp_version; // Identity of the writer. Used uniquely by the reader side. blob_t identity; -- cgit v1.2.3