File tree Expand file tree Collapse file tree 3 files changed +16
-1
lines changed
Expand file tree Collapse file tree 3 files changed +16
-1
lines changed Original file line number Diff line number Diff line change @@ -334,6 +334,11 @@ const std::optional<std::string> &BridgeConfig::getFmqClientGroupId() const
334334 return this ->fmq_client_group_id ;
335335}
336336
337+ void BridgeConfig::setFmqClientGroupId (const std::string &group_id)
338+ {
339+ this ->fmq_client_group_id = group_id;
340+ }
341+
337342void BridgeConfig::isValid ()
338343{
339344 if (sslPrivkey.empty () != sslFullchain.empty ())
@@ -432,7 +437,8 @@ std::vector<BridgeConfig> BridgeConfig::multiply() const
432437 */
433438 result.back ().appendConnectionNumber (i);
434439
435- result.back ().fmq_client_group_id = group_id;
440+ if (!result.back ().fmq_client_group_id )
441+ result.back ().fmq_client_group_id = group_id;
436442 }
437443
438444 result.back ().setClientId ();
Original file line number Diff line number Diff line change @@ -123,6 +123,7 @@ class BridgeConfig
123123 void setClientId (const std::string &prefix, const std::string &id);
124124 const std::string &getClientid () const ;
125125 const std::optional<std::string> &getFmqClientGroupId () const ;
126+ void setFmqClientGroupId (const std::string &group_id);
126127 void isValid ();
127128 std::vector<BridgeConfig> multiply () const ;
128129 void setSharedSubscriptionName (const std::string &share_name);
Original file line number Diff line number Diff line change @@ -302,6 +302,7 @@ ConfigFileParser::ConfigFileParser(const std::string &path) :
302302 validBridgeKeys.insert (" minimum_tls_version" );
303303 validBridgeKeys.insert (" connection_count" );
304304 validBridgeKeys.insert (" max_buffer_size" );
305+ validBridgeKeys.insert (" routing_group_id" );
305306
306307 validBridgeLazySubscriptionKeys.insert (" subscribe" );
307308 validBridgeLazySubscriptionKeys.insert (" qos" );
@@ -948,6 +949,13 @@ void ConfigFileParser::loadFile(bool test)
948949
949950 curBridge->maxBufferSize = val;
950951 }
952+ if (testKeyValidity (key, " routing_group_id" , validBridgeKeys))
953+ {
954+ if (valueTrimmed.length () != 12 )
955+ throw ConfigFileException (" Length of " + key + " must be 12 chars (and fully random)" );
956+
957+ curBridge->setFmqClientGroupId (valueTrimmed);
958+ }
951959
952960 testCorrectNumberOfValues (key, number_of_expected_values, values);
953961 continue ;
You can’t perform that action at this time.
0 commit comments