engage-engine 1.244.90840011 → 1.245.90850013

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -449,6 +449,110 @@ namespace AppConfigurationObjects
449
449
  }
450
450
  }
451
451
 
452
+ //-----------------------------------------------------------
453
+ JSON_SERIALIZED_CLASS(TuningSettings)
454
+ class TuningSettings : public ConfigurationObjectBase
455
+ {
456
+ IMPLEMENT_JSON_SERIALIZATION()
457
+ IMPLEMENT_JSON_DOCUMENTATION(TuningSettings)
458
+
459
+ public:
460
+ /** @brief [Optional, Default 0 (no max)] Maximum number of RTP bytes allowed to be pooled */
461
+ uint32_t maxPooledRtpMb;
462
+
463
+ /** @brief [Optional, Default 0 (no max)] Maximum number of RTP objects allowed to be pooled */
464
+ uint32_t maxPooledRtpObjects;
465
+
466
+ /** @brief [Optional, Default 0 (no max)] Maximum number of RTP objects allowed to be active */
467
+ uint32_t maxActiveRtpObjects;
468
+
469
+
470
+ /** @brief [Optional, Default 0 (no max)] Maximum number of blob bytes allowed to be pooled */
471
+ uint32_t maxPooledBlobMb;
472
+
473
+ /** @brief [Optional, Default 0 (no max)] Maximum number of blob objects allowed to be pooled */
474
+ uint32_t maxPooledBlobObjects;
475
+
476
+ /** @brief [Optional, Default 0 (no max)] Maximum number of blob objects allowed to be active */
477
+ uint32_t maxActiveBlobObjects;
478
+
479
+
480
+ /** @brief [Optional, Default 0 (no max)] Maximum number of buffer bytes allowed to be pooled */
481
+ uint32_t maxPooledBufferMb;
482
+
483
+ /** @brief [Optional, Default 0 (no max)] Maximum number of buffer objects allowed to be pooled */
484
+ uint32_t maxPooledBufferObjects;
485
+
486
+ /** @brief [Optional, Default 0 (no max)] Maximum number of buffer objects allowed to be active */
487
+ uint32_t maxActiveBufferObjects;
488
+
489
+ /** @brief [Optional, Default 0 (no max)] Maximum number concurrent RTP processors */
490
+ uint32_t maxActiveRtpProcessors;
491
+
492
+ TuningSettings()
493
+ {
494
+ clear();
495
+ }
496
+
497
+ void clear()
498
+ {
499
+ maxPooledRtpMb = 0;
500
+ maxPooledRtpObjects = 0;
501
+ maxActiveRtpObjects = 0;
502
+
503
+ maxPooledBlobMb = 0;
504
+ maxPooledBlobObjects = 0;
505
+ maxActiveBlobObjects = 0;
506
+
507
+ maxPooledBufferMb = 0;
508
+ maxPooledBufferObjects = 0;
509
+ maxActiveBufferObjects = 0;
510
+
511
+ maxActiveRtpProcessors = 0;
512
+ }
513
+
514
+ virtual void initForDocumenting()
515
+ {
516
+ clear();
517
+ }
518
+ };
519
+
520
+ static void to_json(nlohmann::json& j, const TuningSettings& p)
521
+ {
522
+ j = nlohmann::json{
523
+ TOJSON_IMPL(maxPooledRtpMb),
524
+ TOJSON_IMPL(maxPooledRtpObjects),
525
+ TOJSON_IMPL(maxActiveRtpObjects),
526
+
527
+ TOJSON_IMPL(maxPooledBlobMb),
528
+ TOJSON_IMPL(maxPooledBlobObjects),
529
+ TOJSON_IMPL(maxActiveBlobObjects),
530
+
531
+ TOJSON_IMPL(maxPooledBufferMb),
532
+ TOJSON_IMPL(maxPooledBufferObjects),
533
+ TOJSON_IMPL(maxActiveBufferObjects),
534
+
535
+ TOJSON_IMPL(maxActiveRtpProcessors)
536
+ };
537
+ }
538
+ static void from_json(const nlohmann::json& j, TuningSettings& p)
539
+ {
540
+ p.clear();
541
+ FROMJSON_IMPL(maxPooledRtpMb, uint32_t, 0);
542
+ FROMJSON_IMPL(maxPooledRtpObjects, uint32_t, 0);
543
+ FROMJSON_IMPL(maxActiveRtpObjects, uint32_t, 0);
544
+
545
+ FROMJSON_IMPL(maxPooledBlobMb, uint32_t, 0);
546
+ FROMJSON_IMPL(maxPooledBlobObjects, uint32_t, 0);
547
+ FROMJSON_IMPL(maxActiveBlobObjects, uint32_t, 0);
548
+
549
+ FROMJSON_IMPL(maxPooledBufferMb, uint32_t, 0);
550
+ FROMJSON_IMPL(maxPooledBufferObjects, uint32_t, 0);
551
+ FROMJSON_IMPL(maxActiveBufferObjects, uint32_t, 0);
552
+
553
+ FROMJSON_IMPL(maxActiveRtpProcessors, uint32_t, 0);
554
+ }
555
+
452
556
 
453
557
  //-----------------------------------------------------------
454
558
  JSON_SERIALIZED_CLASS(FipsCryptoSettings)
@@ -1109,6 +1213,12 @@ namespace AppConfigurationObjects
1109
1213
  /** @brief Custom RTP header */
1110
1214
  RtpHeader rtpHeader;
1111
1215
 
1216
+ /** @brief [Optional but required if txnTimeoutSecs is > 0]*/
1217
+ std::string txnId;
1218
+
1219
+ /** @brief [Optional, Default: 0] Number of seconds after which to time out delivery to the target node */
1220
+ int txnTimeoutSecs;
1221
+
1112
1222
  BlobInfo()
1113
1223
  {
1114
1224
  clear();
@@ -1121,6 +1231,8 @@ namespace AppConfigurationObjects
1121
1231
  target.clear();
1122
1232
  rtpHeader.clear();
1123
1233
  payloadType = PayloadType_t::bptUndefined;
1234
+ txnId.clear();
1235
+ txnTimeoutSecs = 0;
1124
1236
  }
1125
1237
 
1126
1238
  virtual void initForDocumenting()
@@ -1137,7 +1249,9 @@ namespace AppConfigurationObjects
1137
1249
  TOJSON_IMPL(source),
1138
1250
  TOJSON_IMPL(target),
1139
1251
  TOJSON_IMPL(rtpHeader),
1140
- TOJSON_IMPL(payloadType)
1252
+ TOJSON_IMPL(payloadType),
1253
+ TOJSON_IMPL(txnId),
1254
+ TOJSON_IMPL(txnTimeoutSecs)
1141
1255
  };
1142
1256
  }
1143
1257
  static void from_json(const nlohmann::json& j, BlobInfo& p)
@@ -1148,6 +1262,8 @@ namespace AppConfigurationObjects
1148
1262
  getOptional<std::string>("target", p.target, j, EMPTY_STRING);
1149
1263
  getOptional<RtpHeader>("rtpHeader", p.rtpHeader, j);
1150
1264
  getOptional<BlobInfo::PayloadType_t>("payloadType", p.payloadType, j, BlobInfo::PayloadType_t::bptUndefined);
1265
+ getOptional<std::string>("txnId", p.txnId, j, EMPTY_STRING);
1266
+ getOptional<int>("txnTimeoutSecs", p.txnTimeoutSecs, j, 0);
1151
1267
  }
1152
1268
 
1153
1269
 
@@ -3653,6 +3769,20 @@ namespace AppConfigurationObjects
3653
3769
  IMPLEMENT_JSON_DOCUMENTATION(TalkerInformation)
3654
3770
 
3655
3771
  public:
3772
+ /** @brief Manufactured alias type
3773
+ * If an alias is "manufactured" then the alias is not a real user but is instead a system-generated alias.
3774
+ */
3775
+ typedef enum
3776
+ {
3777
+ /** @brief Not manufactured */
3778
+ matNone = 0,
3779
+
3780
+ /** @brief The anonymous alias specified in the group configuration was used */
3781
+ matAnonymous = 1,
3782
+
3783
+ /** @brief The alias was manufactured using the RTP stream's SSRC value in hex - in the format "SSRCxxxxxxxx" */
3784
+ matSsrcGenerated = 2
3785
+ } ManufacturedAliasType_t;
3656
3786
 
3657
3787
  /** @brief The user alias to represent as a "talker". */
3658
3788
  std::string alias;
@@ -3678,6 +3808,12 @@ namespace AppConfigurationObjects
3678
3808
  /** @brief Indicates if RX is muted for this talker. */
3679
3809
  bool rxMuted;
3680
3810
 
3811
+ /** @brief The RTS SSRC associated with a talker's transmission. */
3812
+ uint32_t ssrc;
3813
+
3814
+ /** @brief The method used to "manufacture" the alias */
3815
+ ManufacturedAliasType_t manufacturedAliasType;
3816
+
3681
3817
  TalkerInformation()
3682
3818
  {
3683
3819
  clear();
@@ -3693,6 +3829,8 @@ namespace AppConfigurationObjects
3693
3829
  duplicateCount = 0;
3694
3830
  aliasSpecializer = 0;
3695
3831
  rxMuted = false;
3832
+ manufacturedAliasType = ManufacturedAliasType_t::matNone;
3833
+ ssrc = 0;
3696
3834
  }
3697
3835
  };
3698
3836
 
@@ -3706,7 +3844,9 @@ namespace AppConfigurationObjects
3706
3844
  TOJSON_IMPL(txId),
3707
3845
  TOJSON_IMPL(duplicateCount),
3708
3846
  TOJSON_IMPL(aliasSpecializer),
3709
- TOJSON_IMPL(rxMuted)
3847
+ TOJSON_IMPL(rxMuted),
3848
+ TOJSON_IMPL(manufacturedAliasType),
3849
+ TOJSON_IMPL(ssrc)
3710
3850
  };
3711
3851
  }
3712
3852
  static void from_json(const nlohmann::json& j, TalkerInformation& p)
@@ -3720,6 +3860,8 @@ namespace AppConfigurationObjects
3720
3860
  getOptional<int>("duplicateCount", p.duplicateCount, j, 0);
3721
3861
  getOptional<uint16_t>("aliasSpecializer", p.aliasSpecializer, j, 0);
3722
3862
  getOptional<bool>("rxMuted", p.rxMuted, j, false);
3863
+ getOptional<TalkerInformation::ManufacturedAliasType_t>("manufacturedAliasType", p.manufacturedAliasType, j, TalkerInformation::ManufacturedAliasType_t::matNone);
3864
+ getOptional<uint32_t>("ssrc", p.ssrc, j, 0);
3723
3865
  }
3724
3866
 
3725
3867
  //-----------------------------------------------------------
@@ -6689,6 +6831,9 @@ namespace AppConfigurationObjects
6689
6831
  /** @brief [Optional, Default: 15] The number of seconds to cache an open microphone before actually closing it. */
6690
6832
  int delayedMicrophoneClosureSecs;
6691
6833
 
6834
+ /** @brief [Optional] Low-level tuning */
6835
+ TuningSettings tuning;
6836
+
6692
6837
  EnginePolicyInternals()
6693
6838
  {
6694
6839
  clear();
@@ -6709,6 +6854,7 @@ namespace AppConfigurationObjects
6709
6854
  stickyTidHangSecs = 10;
6710
6855
  uriStreamingIntervalMs = 60;
6711
6856
  delayedMicrophoneClosureSecs = 15;
6857
+ tuning.clear();
6712
6858
  }
6713
6859
  };
6714
6860
 
@@ -6727,7 +6873,8 @@ namespace AppConfigurationObjects
6727
6873
  TOJSON_IMPL(rpConnectionTimeoutSecs),
6728
6874
  TOJSON_IMPL(stickyTidHangSecs),
6729
6875
  TOJSON_IMPL(uriStreamingIntervalMs),
6730
- TOJSON_IMPL(delayedMicrophoneClosureSecs)
6876
+ TOJSON_IMPL(delayedMicrophoneClosureSecs),
6877
+ TOJSON_IMPL(tuning)
6731
6878
  };
6732
6879
  }
6733
6880
  static void from_json(const nlohmann::json& j, EnginePolicyInternals& p)
@@ -6745,7 +6892,8 @@ namespace AppConfigurationObjects
6745
6892
  getOptional<int>("rpConnectionTimeoutSecs", p.rpConnectionTimeoutSecs, j, 5);
6746
6893
  getOptional<int>("stickyTidHangSecs", p.stickyTidHangSecs, j, 10);
6747
6894
  getOptional<int>("uriStreamingIntervalMs", p.uriStreamingIntervalMs, j, 60);
6748
- getOptional<int>("delayedMicrophoneClosureSecs", p.delayedMicrophoneClosureSecs, j, 15);
6895
+ getOptional<int>("delayedMicrophoneClosureSecs", p.delayedMicrophoneClosureSecs, j, 15);
6896
+ getOptional<TuningSettings>("tuning", p.tuning, j);
6749
6897
  }
6750
6898
 
6751
6899
  //-----------------------------------------------------------
@@ -6781,6 +6929,15 @@ namespace AppConfigurationObjects
6781
6929
  /** @brief Specifies the maximum storage space to use. */
6782
6930
  int maxStorageMb;
6783
6931
 
6932
+ /** @brief Specifies the maximum memory to use - defaults to maxStorageMb. */
6933
+ int maxMemMb;
6934
+
6935
+ /** @brief Specifies the maximum number of megabytes to allow for a single audio event's memory block - defaults to maxMemMb. */
6936
+ int maxAudioEventMemMb;
6937
+
6938
+ /** @brief Specifies the maximum disk space to use - defaults to maxStorageMb. */
6939
+ int maxDiskMb;
6940
+
6784
6941
  /** @brief Maximum age of an event after which it is to be erased */
6785
6942
  long maxEventAgeSecs;
6786
6943
 
@@ -6818,6 +6975,9 @@ namespace AppConfigurationObjects
6818
6975
  enabled = true;
6819
6976
  storageRoot.clear();
6820
6977
  maxStorageMb = 1024; // 1 Gigabyte
6978
+ maxMemMb = maxStorageMb;
6979
+ maxAudioEventMemMb = maxMemMb;
6980
+ maxDiskMb = maxStorageMb;
6821
6981
  maxEventAgeSecs = (86400 * 30); // 30 days
6822
6982
  groomingIntervalSecs = (60 * 30); // 30 minutes
6823
6983
  maxEvents = 1000;
@@ -6833,7 +6993,9 @@ namespace AppConfigurationObjects
6833
6993
  j = nlohmann::json{
6834
6994
  TOJSON_IMPL(enabled),
6835
6995
  TOJSON_IMPL(storageRoot),
6836
- TOJSON_IMPL(maxStorageMb),
6996
+ TOJSON_IMPL(maxMemMb),
6997
+ TOJSON_IMPL(maxAudioEventMemMb),
6998
+ TOJSON_IMPL(maxDiskMb),
6837
6999
  TOJSON_IMPL(maxEventAgeSecs),
6838
7000
  TOJSON_IMPL(maxEvents),
6839
7001
  TOJSON_IMPL(groomingIntervalSecs),
@@ -6850,6 +7012,9 @@ namespace AppConfigurationObjects
6850
7012
  getOptional<std::string>("storageRoot", p.storageRoot, j, EMPTY_STRING);
6851
7013
 
6852
7014
  getOptional<int>("maxStorageMb", p.maxStorageMb, j, 1024);
7015
+ getOptional<int>("maxMemMb", p.maxMemMb, j, p.maxStorageMb);
7016
+ getOptional<int>("maxAudioEventMemMb", p.maxAudioEventMemMb, j, p.maxMemMb);
7017
+ getOptional<int>("maxDiskMb", p.maxDiskMb, j, p.maxStorageMb);
6853
7018
  getOptional<long>("maxEventAgeSecs", p.maxEventAgeSecs, j, (86400 * 30));
6854
7019
  getOptional<long>("groomingIntervalSecs", p.groomingIntervalSecs, j, (60 * 30));
6855
7020
  getOptional<long>("autosaveIntervalSecs", p.autosaveIntervalSecs, j, 5);
@@ -7045,6 +7210,79 @@ namespace AppConfigurationObjects
7045
7210
  getOptional<int>("rtpTsMultiplier", p.rtpTsMultiplier, j, -1);
7046
7211
  }
7047
7212
 
7213
+ //-----------------------------------------------------------
7214
+ JSON_SERIALIZED_CLASS(EngineStatusReportConfiguration)
7215
+ /**
7216
+ * @brief TODO: Configuration for the translation server status report file
7217
+ *
7218
+ * Helper C++ class to serialize and de-serialize EngineStatusReportConfiguration JSON
7219
+ *
7220
+ * Example: @include[doc] examples/EngineStatusReportConfiguration.json
7221
+ *
7222
+ * @see EnginePolicy
7223
+ */
7224
+ class EngineStatusReportConfiguration : public ConfigurationObjectBase
7225
+ {
7226
+ IMPLEMENT_JSON_SERIALIZATION()
7227
+ IMPLEMENT_JSON_DOCUMENTATION(EngineStatusReportConfiguration)
7228
+
7229
+ public:
7230
+ /** File name to use for the status report. */
7231
+ std::string fileName;
7232
+
7233
+ /** [Optional, Default: 30] The interval at which to write out the status report to file. */
7234
+ int intervalSecs;
7235
+
7236
+ /** [Optional, Default: false] Indicates if status reporting is enabled. */
7237
+ bool enabled;
7238
+
7239
+ /** [Optional, Default: null] Command to be executed every time the status report is produced. */
7240
+ std::string runCmd;
7241
+
7242
+ /** [Optional, Default: false] Indicates whether to include details of objects in memory. */
7243
+ bool includeMemoryDetail;
7244
+
7245
+ /** [Optional, Default: false] Indicates whether to include details of task queues. */
7246
+ bool includeTaskQueueDetail;
7247
+
7248
+ EngineStatusReportConfiguration()
7249
+ {
7250
+ clear();
7251
+ }
7252
+
7253
+ void clear()
7254
+ {
7255
+ fileName.clear();
7256
+ intervalSecs = 60;
7257
+ enabled = false;
7258
+ includeMemoryDetail = false;
7259
+ includeTaskQueueDetail = false;
7260
+ runCmd.clear();
7261
+ }
7262
+ };
7263
+
7264
+ static void to_json(nlohmann::json& j, const EngineStatusReportConfiguration& p)
7265
+ {
7266
+ j = nlohmann::json{
7267
+ TOJSON_IMPL(fileName),
7268
+ TOJSON_IMPL(intervalSecs),
7269
+ TOJSON_IMPL(enabled),
7270
+ TOJSON_IMPL(includeMemoryDetail),
7271
+ TOJSON_IMPL(includeTaskQueueDetail),
7272
+ TOJSON_IMPL(runCmd)
7273
+ };
7274
+ }
7275
+ static void from_json(const nlohmann::json& j, EngineStatusReportConfiguration& p)
7276
+ {
7277
+ p.clear();
7278
+ getOptional<std::string>("fileName", p.fileName, j);
7279
+ getOptional<int>("intervalSecs", p.intervalSecs, j, 60);
7280
+ getOptional<bool>("enabled", p.enabled, j, false);
7281
+ getOptional<std::string>("runCmd", p.runCmd, j);
7282
+ getOptional<bool>("includeMemoryDetail", p.includeMemoryDetail, j, false);
7283
+ getOptional<bool>("includeTaskQueueDetail", p.includeTaskQueueDetail, j, false);
7284
+ }
7285
+
7048
7286
  //-----------------------------------------------------------
7049
7287
  JSON_SERIALIZED_CLASS(EnginePolicy)
7050
7288
  /**
@@ -7107,6 +7345,9 @@ namespace AppConfigurationObjects
7107
7345
  /** @brief Optional RTP - overrides the default */
7108
7346
  std::vector<RtpMapEntry> rtpMap;
7109
7347
 
7348
+ /** @brief Optional statusReport - details for the status report */
7349
+ EngineStatusReportConfiguration statusReport;
7350
+
7110
7351
  EnginePolicy()
7111
7352
  {
7112
7353
  clear();
@@ -7128,6 +7369,7 @@ namespace AppConfigurationObjects
7128
7369
  namedAudioDevices.clear();
7129
7370
  externalCodecs.clear();
7130
7371
  rtpMap.clear();
7372
+ statusReport.clear();
7131
7373
  }
7132
7374
  };
7133
7375
 
@@ -7147,7 +7389,8 @@ namespace AppConfigurationObjects
7147
7389
  TOJSON_IMPL(featureset),
7148
7390
  TOJSON_IMPL(namedAudioDevices),
7149
7391
  TOJSON_IMPL(externalCodecs),
7150
- TOJSON_IMPL(rtpMap)
7392
+ TOJSON_IMPL(rtpMap),
7393
+ TOJSON_IMPL(statusReport)
7151
7394
  };
7152
7395
  }
7153
7396
  static void from_json(const nlohmann::json& j, EnginePolicy& p)
@@ -7167,6 +7410,7 @@ namespace AppConfigurationObjects
7167
7410
  FROMJSON_IMPL_SIMPLE(namedAudioDevices);
7168
7411
  FROMJSON_IMPL_SIMPLE(externalCodecs);
7169
7412
  FROMJSON_IMPL_SIMPLE(rtpMap);
7413
+ FROMJSON_IMPL_SIMPLE(statusReport);
7170
7414
  }
7171
7415
 
7172
7416
 
@@ -7880,6 +8124,19 @@ namespace AppConfigurationObjects
7880
8124
  IMPLEMENT_JSON_DOCUMENTATION(RallypointReflector)
7881
8125
 
7882
8126
  public:
8127
+ /** @brief Enum describing direction(s) for the reflector. */
8128
+ typedef enum
8129
+ {
8130
+ /** @brief No restriction - both directions allowed */
8131
+ drNone = 0,
8132
+
8133
+ /** @brief RX only */
8134
+ drRxOnly = 1,
8135
+
8136
+ /** @brief TX only */
8137
+ drTxOnly = 2
8138
+ } DirectionRestriction_t;
8139
+
7883
8140
  /**
7884
8141
  * @brief Unique identity for the group.
7885
8142
  */
@@ -7894,9 +8151,12 @@ namespace AppConfigurationObjects
7894
8151
  /** @brief [Optional] The name of the NIC on which to send and receive multicast traffic. */
7895
8152
  std::string multicastInterfaceName;
7896
8153
 
7897
- /** @brief Vector of additional TX addresses . */
8154
+ /** @brief [Optional] Vector of additional TX addresses . */
7898
8155
  std::vector<NetworkAddress> additionalTx;
7899
8156
 
8157
+ /** @brief [Optional] Restriction of direction of traffic flow */
8158
+ DirectionRestriction_t directionRestriction;
8159
+
7900
8160
  RallypointReflector()
7901
8161
  {
7902
8162
  clear();
@@ -7909,6 +8169,7 @@ namespace AppConfigurationObjects
7909
8169
  tx.clear();
7910
8170
  multicastInterfaceName.clear();
7911
8171
  additionalTx.clear();
8172
+ directionRestriction = drNone;
7912
8173
  }
7913
8174
  };
7914
8175
 
@@ -7919,7 +8180,8 @@ namespace AppConfigurationObjects
7919
8180
  TOJSON_IMPL(rx),
7920
8181
  TOJSON_IMPL(tx),
7921
8182
  TOJSON_IMPL(multicastInterfaceName),
7922
- TOJSON_IMPL(additionalTx)
8183
+ TOJSON_IMPL(additionalTx),
8184
+ TOJSON_IMPL(directionRestriction)
7923
8185
  };
7924
8186
  }
7925
8187
  static void from_json(const nlohmann::json& j, RallypointReflector& p)
@@ -7930,6 +8192,7 @@ namespace AppConfigurationObjects
7930
8192
  j.at("tx").get_to(p.tx);
7931
8193
  getOptional<std::string>("multicastInterfaceName", p.multicastInterfaceName, j);
7932
8194
  getOptional<std::vector<NetworkAddress>>("additionalTx", p.additionalTx, j);
8195
+ getOptional<RallypointReflector::DirectionRestriction_t>("directionRestriction", p.directionRestriction, j, RallypointReflector::DirectionRestriction_t::drNone);
7933
8196
  }
7934
8197
 
7935
8198
 
@@ -8224,9 +8487,6 @@ namespace AppConfigurationObjects
8224
8487
  /** @brief [Default: false] Advertising is enabled */
8225
8488
  bool enabled;
8226
8489
 
8227
- /** @brief [Optional] This Rallypoint's mesh name */
8228
- std::string meshName;
8229
-
8230
8490
  /** @brief [Optional] This Rallypoint's DNS-SD host name */
8231
8491
  std::string hostName;
8232
8492
 
@@ -8242,10 +8502,6 @@ namespace AppConfigurationObjects
8242
8502
  /** @brief [Default: 60] TTL for service TTL */
8243
8503
  int ttl;
8244
8504
 
8245
- /** @brief [Optional] List of additional meshes that can be reached via this RP */
8246
- std::vector<std::string> extraMeshes;
8247
-
8248
-
8249
8505
  RallypointAdvertisingSettings()
8250
8506
  {
8251
8507
  clear();
@@ -8254,13 +8510,11 @@ namespace AppConfigurationObjects
8254
8510
  void clear()
8255
8511
  {
8256
8512
  enabled = false;
8257
- meshName.clear();
8258
8513
  hostName.clear();
8259
8514
  serviceName = "_rallypoint._tcp.local.";
8260
8515
  interfaceName.clear();
8261
8516
  port = 0;
8262
8517
  ttl = 60;
8263
- extraMeshes.clear();
8264
8518
  }
8265
8519
  };
8266
8520
 
@@ -8268,27 +8522,23 @@ namespace AppConfigurationObjects
8268
8522
  {
8269
8523
  j = nlohmann::json{
8270
8524
  TOJSON_IMPL(enabled),
8271
- TOJSON_IMPL(meshName),
8272
8525
  TOJSON_IMPL(hostName),
8273
8526
  TOJSON_IMPL(serviceName),
8274
8527
  TOJSON_IMPL(interfaceName),
8275
8528
  TOJSON_IMPL(port),
8276
- TOJSON_IMPL(ttl),
8277
- TOJSON_IMPL(extraMeshes)
8529
+ TOJSON_IMPL(ttl)
8278
8530
  };
8279
8531
  }
8280
8532
  static void from_json(const nlohmann::json& j, RallypointAdvertisingSettings& p)
8281
8533
  {
8282
8534
  p.clear();
8283
8535
  getOptional<bool>("enabled", p.enabled, j, false);
8284
- getOptional<std::string>("meshName", p.meshName, j);
8285
8536
  getOptional<std::string>("hostName", p.hostName, j);
8286
8537
  getOptional<std::string>("serviceName", p.serviceName, j, "_rallypoint._tcp.local.");
8287
8538
  getOptional<std::string>("interfaceName", p.interfaceName, j);
8288
8539
 
8289
8540
  getOptional<int>("port", p.port, j, 0);
8290
8541
  getOptional<int>("ttl", p.ttl, j, 60);
8291
- getOptional<std::vector<std::string>>("extraMeshes", p.extraMeshes, j);
8292
8542
  }
8293
8543
 
8294
8544
 
@@ -8514,6 +8764,15 @@ namespace AppConfigurationObjects
8514
8764
  /** @brief Details for capture of transmitted packets */
8515
8765
  PacketCapturer txCapture;
8516
8766
 
8767
+ /** @brief [Optional] This Rallypoint's mesh name */
8768
+ std::string meshName;
8769
+
8770
+ /** @brief [Optional] List of additional meshes that can be reached via this RP */
8771
+ std::vector<std::string> extraMeshes;
8772
+
8773
+ /** @brief [Optional] Low-level tuning */
8774
+ TuningSettings tuning;
8775
+
8517
8776
  RallypointServer()
8518
8777
  {
8519
8778
  clear();
@@ -8574,6 +8833,9 @@ namespace AppConfigurationObjects
8574
8833
  ipFamily = IpFamilyType_t::ifIpUnspec;
8575
8834
  rxCapture.clear();
8576
8835
  txCapture.clear();
8836
+ meshName.clear();
8837
+ extraMeshes.clear();
8838
+ tuning.clear();
8577
8839
  }
8578
8840
  };
8579
8841
 
@@ -8632,7 +8894,10 @@ namespace AppConfigurationObjects
8632
8894
  TOJSON_IMPL(groupRestrictionAccessPolicyType),
8633
8895
  TOJSON_IMPL(ipFamily),
8634
8896
  TOJSON_IMPL(rxCapture),
8635
- TOJSON_IMPL(txCapture)
8897
+ TOJSON_IMPL(txCapture),
8898
+ TOJSON_IMPL(meshName),
8899
+ TOJSON_IMPL(extraMeshes),
8900
+ TOJSON_IMPL(tuning)
8636
8901
  };
8637
8902
  }
8638
8903
  static void from_json(const nlohmann::json& j, RallypointServer& p)
@@ -8691,6 +8956,9 @@ namespace AppConfigurationObjects
8691
8956
  getOptional<IpFamilyType_t>("ipFamily", p.ipFamily, j, IpFamilyType_t::ifIpUnspec);
8692
8957
  getOptional<PacketCapturer>("rxCapture", p.rxCapture, j);
8693
8958
  getOptional<PacketCapturer>("txCapture", p.txCapture, j);
8959
+ getOptional<std::string>("meshName", p.meshName, j);
8960
+ getOptional<std::vector<std::string>>("extraMeshes", p.extraMeshes, j);
8961
+ getOptional<TuningSettings>("tuning", p.tuning, j);
8694
8962
  }
8695
8963
 
8696
8964
  //-----------------------------------------------------------
@@ -9582,9 +9850,6 @@ namespace AppConfigurationObjects
9582
9850
 
9583
9851
  /** @brief TX has ended with a failure */
9584
9852
  txsTxEndedWithFailure = -10,
9585
-
9586
- /** @brief One or more other entities are or will soon be actively transmitting */
9587
- txsOthersActive = -11
9588
9853
  } TxStatus_t;
9589
9854
 
9590
9855
  /** @brief ID of the group */
@@ -9856,6 +10121,7 @@ namespace AppConfigurationObjects
9856
10121
  uint64_t presenceDeserializationFailures;
9857
10122
  uint64_t notRtpErrors;
9858
10123
  uint64_t generalErrors;
10124
+ uint64_t inboundRtpProcessorAllocationFailures;
9859
10125
 
9860
10126
  GroupHealthReport()
9861
10127
  {
@@ -9878,6 +10144,7 @@ namespace AppConfigurationObjects
9878
10144
  presenceDeserializationFailures = 0;
9879
10145
  notRtpErrors = 0;
9880
10146
  generalErrors = 0;
10147
+ inboundRtpProcessorAllocationFailures = 0;
9881
10148
  }
9882
10149
  };
9883
10150
 
@@ -9897,7 +10164,8 @@ namespace AppConfigurationObjects
9897
10164
  TOJSON_IMPL(jitterBufferInsertionFailures),
9898
10165
  TOJSON_IMPL(presenceDeserializationFailures),
9899
10166
  TOJSON_IMPL(notRtpErrors),
9900
- TOJSON_IMPL(generalErrors)
10167
+ TOJSON_IMPL(generalErrors),
10168
+ TOJSON_IMPL(inboundRtpProcessorAllocationFailures)
9901
10169
  };
9902
10170
  }
9903
10171
  static void from_json(const nlohmann::json& j, GroupHealthReport& p)
@@ -9917,6 +10185,7 @@ namespace AppConfigurationObjects
9917
10185
  getOptional<uint64_t>("presenceDeserializationFailures", p.presenceDeserializationFailures, j, 0);
9918
10186
  getOptional<uint64_t>("notRtpErrors", p.notRtpErrors, j, 0);
9919
10187
  getOptional<uint64_t>("generalErrors", p.generalErrors, j, 0);
10188
+ getOptional<uint64_t>("inboundRtpProcessorAllocationFailures", p.inboundRtpProcessorAllocationFailures, j, 0);
9920
10189
  }
9921
10190
 
9922
10191
  //-----------------------------------------------------------
@@ -10376,6 +10645,9 @@ namespace AppConfigurationObjects
10376
10645
  /** @brief [Optional, Default: 1000] Interval at which to run the housekeeper thread. */
10377
10646
  int housekeeperIntervalMs;
10378
10647
 
10648
+ /** @brief [Optional] Low-level tuning */
10649
+ TuningSettings tuning;
10650
+
10379
10651
  LingoServerInternals()
10380
10652
  {
10381
10653
  clear();
@@ -10384,6 +10656,7 @@ namespace AppConfigurationObjects
10384
10656
  void clear()
10385
10657
  {
10386
10658
  watchdog.clear();
10659
+ tuning.clear();
10387
10660
  housekeeperIntervalMs = 1000;
10388
10661
  }
10389
10662
  };
@@ -10392,7 +10665,8 @@ namespace AppConfigurationObjects
10392
10665
  {
10393
10666
  j = nlohmann::json{
10394
10667
  TOJSON_IMPL(watchdog),
10395
- TOJSON_IMPL(housekeeperIntervalMs)
10668
+ TOJSON_IMPL(housekeeperIntervalMs),
10669
+ TOJSON_IMPL(tuning)
10396
10670
  };
10397
10671
  }
10398
10672
  static void from_json(const nlohmann::json& j, LingoServerInternals& p)
@@ -10400,6 +10674,7 @@ namespace AppConfigurationObjects
10400
10674
  p.clear();
10401
10675
  getOptional<WatchdogSettings>("watchdog", p.watchdog, j);
10402
10676
  getOptional<int>("housekeeperIntervalMs", p.housekeeperIntervalMs, j, 1000);
10677
+ getOptional<TuningSettings>("tuning", p.tuning, j);
10403
10678
  }
10404
10679
 
10405
10680
  //-----------------------------------------------------------
@@ -10792,6 +11067,9 @@ namespace AppConfigurationObjects
10792
11067
  /** @brief [Optional, Default: 1000] Interval at which to run the housekeeper thread. */
10793
11068
  int housekeeperIntervalMs;
10794
11069
 
11070
+ /** @brief [Optional] Low-level tuning */
11071
+ TuningSettings tuning;
11072
+
10795
11073
  BridgingServerInternals()
10796
11074
  {
10797
11075
  clear();
@@ -10800,6 +11078,7 @@ namespace AppConfigurationObjects
10800
11078
  void clear()
10801
11079
  {
10802
11080
  watchdog.clear();
11081
+ tuning.clear();
10803
11082
  housekeeperIntervalMs = 1000;
10804
11083
  }
10805
11084
  };
@@ -10808,7 +11087,8 @@ namespace AppConfigurationObjects
10808
11087
  {
10809
11088
  j = nlohmann::json{
10810
11089
  TOJSON_IMPL(watchdog),
10811
- TOJSON_IMPL(housekeeperIntervalMs)
11090
+ TOJSON_IMPL(housekeeperIntervalMs),
11091
+ TOJSON_IMPL(tuning)
10812
11092
  };
10813
11093
  }
10814
11094
  static void from_json(const nlohmann::json& j, BridgingServerInternals& p)
@@ -10816,6 +11096,7 @@ namespace AppConfigurationObjects
10816
11096
  p.clear();
10817
11097
  getOptional<WatchdogSettings>("watchdog", p.watchdog, j);
10818
11098
  getOptional<int>("housekeeperIntervalMs", p.housekeeperIntervalMs, j, 1000);
11099
+ getOptional<TuningSettings>("tuning", p.tuning, j);
10819
11100
  }
10820
11101
 
10821
11102
  //-----------------------------------------------------------
@@ -11096,6 +11377,9 @@ namespace AppConfigurationObjects
11096
11377
  /** @brief [Optional, Default: 1000] Interval at which to run the housekeeper thread. */
11097
11378
  int housekeeperIntervalMs;
11098
11379
 
11380
+ /** @brief [Optional] Low-level tuning */
11381
+ TuningSettings tuning;
11382
+
11099
11383
  EarServerInternals()
11100
11384
  {
11101
11385
  clear();
@@ -11104,6 +11388,7 @@ namespace AppConfigurationObjects
11104
11388
  void clear()
11105
11389
  {
11106
11390
  watchdog.clear();
11391
+ tuning.clear();
11107
11392
  housekeeperIntervalMs = 1000;
11108
11393
  }
11109
11394
  };
@@ -11112,7 +11397,8 @@ namespace AppConfigurationObjects
11112
11397
  {
11113
11398
  j = nlohmann::json{
11114
11399
  TOJSON_IMPL(watchdog),
11115
- TOJSON_IMPL(housekeeperIntervalMs)
11400
+ TOJSON_IMPL(housekeeperIntervalMs),
11401
+ TOJSON_IMPL(tuning)
11116
11402
  };
11117
11403
  }
11118
11404
  static void from_json(const nlohmann::json& j, EarServerInternals& p)
@@ -11120,6 +11406,7 @@ namespace AppConfigurationObjects
11120
11406
  p.clear();
11121
11407
  getOptional<WatchdogSettings>("watchdog", p.watchdog, j);
11122
11408
  getOptional<int>("housekeeperIntervalMs", p.housekeeperIntervalMs, j, 1000);
11409
+ getOptional<TuningSettings>("tuning", p.tuning, j);
11123
11410
  }
11124
11411
 
11125
11412
  //-----------------------------------------------------------
@@ -11378,6 +11665,9 @@ namespace AppConfigurationObjects
11378
11665
  /** @brief [Optional, Default: 1000] Interval at which to run the housekeeper thread. */
11379
11666
  int housekeeperIntervalMs;
11380
11667
 
11668
+ /** @brief [Optional] Low-level tuning */
11669
+ TuningSettings tuning;
11670
+
11381
11671
  EngageSemServerInternals()
11382
11672
  {
11383
11673
  clear();
@@ -11386,6 +11676,7 @@ namespace AppConfigurationObjects
11386
11676
  void clear()
11387
11677
  {
11388
11678
  watchdog.clear();
11679
+ tuning.clear();
11389
11680
  housekeeperIntervalMs = 1000;
11390
11681
  }
11391
11682
  };
@@ -11394,7 +11685,8 @@ namespace AppConfigurationObjects
11394
11685
  {
11395
11686
  j = nlohmann::json{
11396
11687
  TOJSON_IMPL(watchdog),
11397
- TOJSON_IMPL(housekeeperIntervalMs)
11688
+ TOJSON_IMPL(housekeeperIntervalMs),
11689
+ TOJSON_IMPL(tuning)
11398
11690
  };
11399
11691
  }
11400
11692
  static void from_json(const nlohmann::json& j, EngageSemServerInternals& p)
@@ -11402,6 +11694,7 @@ namespace AppConfigurationObjects
11402
11694
  p.clear();
11403
11695
  getOptional<WatchdogSettings>("watchdog", p.watchdog, j);
11404
11696
  getOptional<int>("housekeeperIntervalMs", p.housekeeperIntervalMs, j, 1000);
11697
+ getOptional<TuningSettings>("tuning", p.tuning, j);
11405
11698
  }
11406
11699
 
11407
11700
  //-----------------------------------------------------------
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "engage-engine",
3
- "version": "1.244.90840011",
3
+ "version": "1.245.90850013",
4
4
  "description": "Use Engage to communicate with everyone, everywhere, from any device",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"