From 38a671d5ac04f6cd6e5906c0e863994290af5836 Mon Sep 17 00:00:00 2001 From: sletz Date: Thu, 29 Jan 2009 15:08:46 +0000 Subject: [PATCH] Check MASTER <<==> SLAVE network protocol coherency. git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@3277 0c269be4-1314-0410-8aa9-9f06e86f4224 --- common/JackNetInterface.cpp | 2 +- common/JackNetManager.cpp | 6 ++++++ common/JackNetTool.cpp | 2 +- common/JackNetTool.h | 3 +++ 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/common/JackNetInterface.cpp b/common/JackNetInterface.cpp index b2f79811..f889a353 100644 --- a/common/JackNetInterface.cpp +++ b/common/JackNetInterface.cpp @@ -569,7 +569,7 @@ namespace Jack //set the parameters to send strcpy ( fParams.fPacketType, "params" ); - fParams.fProtocolVersion = 'a'; + fParams.fProtocolVersion = SLAVE_PROTOCOL; SetPacketType ( &fParams, SLAVE_AVAILABLE ); //init loop : get a master and start, do it until connection is ok diff --git a/common/JackNetManager.cpp b/common/JackNetManager.cpp index f2ddd420..1a1a9b02 100644 --- a/common/JackNetManager.cpp +++ b/common/JackNetManager.cpp @@ -633,6 +633,12 @@ namespace Jack JackNetMaster* JackNetMasterManager::MasterInit ( session_params_t& params ) { jack_log ( "JackNetMasterManager::MasterInit, Slave : %s", params.fName ); + + //check MASTER <<==> SLAVE network protocol coherency + if (params.fProtocolVersion != MASTER_PROTOCOL) { + jack_error ( "Error : slave is running with a different protocol %s", params.fName ); + return NULL; + } //settings fSocket.GetName ( params.fMasterNetName ); diff --git a/common/JackNetTool.cpp b/common/JackNetTool.cpp index 737f02af..50010287 100644 --- a/common/JackNetTool.cpp +++ b/common/JackNetTool.cpp @@ -272,7 +272,7 @@ namespace Jack } jack_info ( "**************** Network parameters ****************" ); jack_info ( "Name : %s", params->fName ); - jack_info ( "Protocol revision : %c", params->fProtocolVersion ); + jack_info ( "Protocol revision : %d", params->fProtocolVersion ); jack_info ( "MTU : %u", params->fMtu ); jack_info ( "Master name : %s", params->fMasterNetName ); jack_info ( "Slave name : %s", params->fSlaveNetName ); diff --git a/common/JackNetTool.h b/common/JackNetTool.h index a55e3c3b..b9b3110b 100644 --- a/common/JackNetTool.h +++ b/common/JackNetTool.h @@ -55,6 +55,9 @@ namespace Jack Data encoding : headers (session_params and packet_header) are encoded using HTN kind of functions but float data are kept in LITTLE_ENDIAN format (to avoid 2 conversions in the more common LITTLE_ENDIAN <==> LITTLE_ENDIAN connection case). */ + + #define MASTER_PROTOCOL 1 + #define SLAVE_PROTOCOL 1 struct _session_params { -- 2.11.4.GIT