From 1d76284dee8e9b0735a26ee98a3edcd9f5208f09 Mon Sep 17 00:00:00 2001 From: Martin Lucina Date: Sun, 20 May 2012 07:40:11 +0200 Subject: Implement SP wire protocol Implements the SP wire protocol, and infrastructure for legacy wire protocol support. Also added an XS_SERVICE_ID socket option to set the service id and renamed the XS_PROTOCOL option to XS_PATTERN_VERSION. The following pattern versions are supported: PAIR: v3 PUBSUB: v1 (legacy), v4 REQREP: v2 PIPELINE: v3 SURVEY: v2 Note that all existing pattern versions have been bumped by 1 to allow for use of legacy protocols (otherwise there would be no way to distinguish between e.g. PUBSUB v3 and PUBSUB v3 using SP). Signed-off-by: Martin Lucina --- src/options.hpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/options.hpp') diff --git a/src/options.hpp b/src/options.hpp index 805f793..9070c0f 100644 --- a/src/options.hpp +++ b/src/options.hpp @@ -92,8 +92,16 @@ namespace xs // If 1, keepalives are to be sent periodically. int keepalive; - // Version of wire protocol to use. - int protocol; + // If true, the legacy non-SP wire protocol is in use. + bool legacy_protocol; + + // SP protocol service id, pattern, version, role and complementary + // role. + int sp_service; + int sp_pattern; + int sp_version; + int sp_role; + int sp_complement; // Filter ID to be used with subscriptions and unsubscriptions. int filter; -- cgit v1.2.3