engage-engine 1.251.90910028 → 1.251.90910029

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.
@@ -8321,6 +8321,97 @@ namespace AppConfigurationObjects
8321
8321
  }
8322
8322
 
8323
8323
 
8324
+ //-----------------------------------------------------------
8325
+ JSON_SERIALIZED_CLASS(RallypointServerStreamStatsExport)
8326
+ /**
8327
+ * Helper C++ class to serialize and de-serialize RallypointServerStreamStatsExport JSON
8328
+ *
8329
+ * Example: @include[doc] examples/RallypointServerStreamStatsExport.json
8330
+ *
8331
+ * @see RallypointServer
8332
+ */
8333
+ class RallypointServerStreamStatsExport : public ConfigurationObjectBase
8334
+ {
8335
+ IMPLEMENT_JSON_SERIALIZATION()
8336
+ IMPLEMENT_JSON_DOCUMENTATION(RallypointServerStreamStatsExport)
8337
+
8338
+ public:
8339
+ /** @brief Enum describing format(s) for the stream stats export. */
8340
+ typedef enum
8341
+ {
8342
+ /** @brief Data in JSON format */
8343
+ fmtJson = 0,
8344
+
8345
+ /** @brief Data in binary format */
8346
+ fmtBinary = 1,
8347
+
8348
+ /** @brief Data in CSV format */
8349
+ fmtCsv = 2
8350
+ } ExportFormat_t;
8351
+
8352
+ /** File name to use for the stream stats export. */
8353
+ std::string fileName;
8354
+
8355
+ /** [Optional, Default: 60] The interval at which to export stream stats. */
8356
+ int intervalSecs;
8357
+
8358
+ /** [Optional, Default: false] Indicates if stream stats export is enabled. */
8359
+ bool enabled;
8360
+
8361
+ /** [Optional, Default: null] Named pipe path for external program communication. */
8362
+ std::string namedPipePath;
8363
+
8364
+ /** [Optional, Default: false] Whether to reset counters after export. */
8365
+ bool resetCountersAfterExport;
8366
+
8367
+ /** [Optional, Default: null] Command to be executed every time the stream stats export is produced. */
8368
+ std::string runCmd;
8369
+
8370
+ /** [Optional, Default: fmtJson] Format for the stream stats export. */
8371
+ ExportFormat_t format;
8372
+
8373
+
8374
+ RallypointServerStreamStatsExport()
8375
+ {
8376
+ clear();
8377
+ }
8378
+
8379
+ void clear()
8380
+ {
8381
+ fileName.clear();
8382
+ intervalSecs = 60;
8383
+ enabled = false;
8384
+ namedPipePath.clear();
8385
+ resetCountersAfterExport = false;
8386
+ runCmd.clear();
8387
+ format = fmtJson;
8388
+ }
8389
+ };
8390
+
8391
+ static void to_json(nlohmann::json& j, const RallypointServerStreamStatsExport& p)
8392
+ {
8393
+ j = nlohmann::json{
8394
+ TOJSON_IMPL(fileName),
8395
+ TOJSON_IMPL(intervalSecs),
8396
+ TOJSON_IMPL(enabled),
8397
+ TOJSON_IMPL(namedPipePath),
8398
+ TOJSON_IMPL(resetCountersAfterExport),
8399
+ TOJSON_IMPL(runCmd),
8400
+ TOJSON_IMPL(format)
8401
+ };
8402
+ }
8403
+ static void from_json(const nlohmann::json& j, RallypointServerStreamStatsExport& p)
8404
+ {
8405
+ p.clear();
8406
+ getOptional<std::string>("fileName", p.fileName, j);
8407
+ getOptional<int>("intervalSecs", p.intervalSecs, j, 60);
8408
+ getOptional<bool>("enabled", p.enabled, j, false);
8409
+ getOptional<std::string>("namedPipePath", p.namedPipePath, j);
8410
+ getOptional<bool>("resetCountersAfterExport", p.resetCountersAfterExport, j, false);
8411
+ getOptional<std::string>("runCmd", p.runCmd, j);
8412
+ getOptional<RallypointServerStreamStatsExport::ExportFormat_t>("format", p.format, j, RallypointServerStreamStatsExport::ExportFormat_t::fmtJson);
8413
+ }
8414
+
8324
8415
  //-----------------------------------------------------------
8325
8416
  JSON_SERIALIZED_CLASS(RallypointServerRouteMap)
8326
8417
  class RallypointServerRouteMap : public ConfigurationObjectBase
@@ -9255,6 +9346,9 @@ namespace AppConfigurationObjects
9255
9346
  /** @brief Details for producing a report containing the route map. @see RallypointServerRouteMap */
9256
9347
  RallypointServerRouteMap routeMap;
9257
9348
 
9349
+ /** @brief Details for exporting stream statistics. @see RallypointServerStreamStatsExport */
9350
+ RallypointServerStreamStatsExport streamStatsExport;
9351
+
9258
9352
  /** @brief [Optional, Default 15] Sets the delta value for the maximum number of seconds to delay when attempting outbound peer connections */
9259
9353
  uint32_t maxOutboundPeerConnectionIntervalDeltaSecs;
9260
9354
 
@@ -9346,6 +9440,7 @@ namespace AppConfigurationObjects
9346
9440
  disableLoopDetection = false;
9347
9441
  maxSecurityLevel = 0;
9348
9442
  routeMap.clear();
9443
+ streamStatsExport.clear();
9349
9444
  maxOutboundPeerConnectionIntervalDeltaSecs = 15;
9350
9445
  peerRtTestIntervalMs = 60000;
9351
9446
  peerRtBehaviors.clear();
@@ -9412,6 +9507,7 @@ namespace AppConfigurationObjects
9412
9507
  TOJSON_IMPL(disableLoopDetection),
9413
9508
  TOJSON_IMPL(maxSecurityLevel),
9414
9509
  TOJSON_IMPL(routeMap),
9510
+ TOJSON_IMPL(streamStatsExport),
9415
9511
  TOJSON_IMPL(maxOutboundPeerConnectionIntervalDeltaSecs),
9416
9512
  TOJSON_IMPL(peerRtTestIntervalMs),
9417
9513
  TOJSON_IMPL(peerRtBehaviors),
@@ -9477,6 +9573,7 @@ namespace AppConfigurationObjects
9477
9573
  getOptional<bool>("disableLoopDetection", p.disableLoopDetection, j, false);
9478
9574
  getOptional<uint32_t>("maxSecurityLevel", p.maxSecurityLevel, j, 0);
9479
9575
  getOptional<RallypointServerRouteMap>("routeMap", p.routeMap, j);
9576
+ getOptional<RallypointServerStreamStatsExport>("streamStatsExport", p.streamStatsExport, j);
9480
9577
  getOptional<uint32_t>("maxOutboundPeerConnectionIntervalDeltaSecs", p.maxOutboundPeerConnectionIntervalDeltaSecs, j, 15);
9481
9578
  getOptional<int>("peerRtTestIntervalMs", p.peerRtTestIntervalMs, j, 60000);
9482
9579
  getOptional<std::vector<RallypointRpRtTimingBehavior>>("peerRtBehaviors", p.peerRtBehaviors, j);
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.251.90910028",
3
+ "version": "1.251.90910029",
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"