@observertc/observer-js 0.9.10-beta → 0.9.12-beta

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.
Files changed (94) hide show
  1. package/lib/Evaluator.d.ts +2 -0
  2. package/lib/Evaluator.d.ts.map +1 -1
  3. package/lib/Evaluator.js +2 -4
  4. package/lib/Observer.d.ts.map +1 -1
  5. package/lib/Observer.js +1 -0
  6. package/lib/common/callMetaReports.d.ts +1 -1
  7. package/lib/common/callMetaReports.d.ts.map +1 -1
  8. package/lib/common/callMetaReports.js +2 -1
  9. package/lib/common/utils.d.ts +1 -0
  10. package/lib/common/utils.d.ts.map +1 -1
  11. package/lib/common/utils.js +12 -0
  12. package/lib/middlewares/DeleteOutdatedCallEntries.d.ts +6 -0
  13. package/lib/middlewares/DeleteOutdatedCallEntries.d.ts.map +1 -0
  14. package/lib/middlewares/DeleteOutdatedCallEntries.js +112 -0
  15. package/lib/middlewares/DeleteOutdatedSfuEntries.d.ts +6 -0
  16. package/lib/middlewares/DeleteOutdatedSfuEntries.d.ts.map +1 -0
  17. package/lib/middlewares/DeleteOutdatedSfuEntries.js +118 -0
  18. package/lib/middlewares/TransactionContext.d.ts.map +1 -1
  19. package/lib/middlewares/TransactionContext.js +42 -26
  20. package/lib/middlewares/TransactoinProcessor.d.ts +1 -1
  21. package/lib/middlewares/TransactoinProcessor.d.ts.map +1 -1
  22. package/lib/middlewares/TransactoinProcessor.js +4 -2
  23. package/lib/middlewares/VisitObservedCallsMiddleware.d.ts +2 -1
  24. package/lib/middlewares/VisitObservedCallsMiddleware.d.ts.map +1 -1
  25. package/lib/middlewares/VisitObservedCallsMiddleware.js +20 -90
  26. package/lib/middlewares/visitors/visitClient.d.ts.map +1 -1
  27. package/lib/middlewares/visitors/visitClient.js +26 -17
  28. package/lib/middlewares/visitors/visitInboundAudioTrack.d.ts +1 -1
  29. package/lib/middlewares/visitors/visitInboundAudioTrack.d.ts.map +1 -1
  30. package/lib/middlewares/visitors/visitInboundAudioTrack.js +10 -2
  31. package/lib/middlewares/visitors/visitInboundVideoTrack.d.ts +1 -1
  32. package/lib/middlewares/visitors/visitInboundVideoTrack.d.ts.map +1 -1
  33. package/lib/middlewares/visitors/visitInboundVideoTrack.js +10 -2
  34. package/lib/middlewares/visitors/visitOutboundAudioTrack.d.ts.map +1 -1
  35. package/lib/middlewares/visitors/visitOutboundAudioTrack.js +5 -1
  36. package/lib/middlewares/visitors/visitOutboundVideoTarck.d.ts.map +1 -1
  37. package/lib/middlewares/visitors/visitOutboundVideoTarck.js +5 -1
  38. package/lib/middlewares/visitors/visitPeerConnection.d.ts.map +1 -1
  39. package/lib/middlewares/visitors/visitPeerConnection.js +15 -0
  40. package/lib/models/Models.d.ts +26 -22
  41. package/lib/models/Models.d.ts.map +1 -1
  42. package/lib/models/Models.js +16 -11
  43. package/lib/processes/findRemoteMatches.d.ts +9 -0
  44. package/lib/processes/findRemoteMatches.d.ts.map +1 -0
  45. package/lib/processes/findRemoteMatches.js +83 -0
  46. package/lib/processes/joinClientProcess.d.ts.map +1 -1
  47. package/lib/processes/joinClientProcess.js +1 -2
  48. package/lib/samples/ObservedCalls.d.ts.map +1 -1
  49. package/lib/samples/ObservedCalls.js +16 -7
  50. package/lib/samples/ObservedInboundAudioTrack.d.ts +2 -0
  51. package/lib/samples/ObservedInboundAudioTrack.d.ts.map +1 -1
  52. package/lib/samples/ObservedInboundVideoTrack.d.ts +2 -0
  53. package/lib/samples/ObservedInboundVideoTrack.d.ts.map +1 -1
  54. package/lib/samples/ObservedOutboundAudioTrack.d.ts +1 -0
  55. package/lib/samples/ObservedOutboundAudioTrack.d.ts.map +1 -1
  56. package/lib/samples/ObservedOutboundVideoTrack.d.ts +1 -0
  57. package/lib/samples/ObservedOutboundVideoTrack.d.ts.map +1 -1
  58. package/lib/samples/ObservedPeerConnection.d.ts.map +1 -1
  59. package/lib/samples/ObservedPeerConnection.js +15 -8
  60. package/lib/samples/ObservedSfus.d.ts.map +1 -1
  61. package/lib/samples/ObservedSfus.js +10 -4
  62. package/lib/storages/ObserverStorage.d.ts +4 -0
  63. package/lib/storages/ObserverStorage.d.ts.map +1 -1
  64. package/lib/storages/SimpleStorage.d.ts +1 -0
  65. package/lib/storages/SimpleStorage.d.ts.map +1 -1
  66. package/lib/storages/SimpleStorage.js +3 -0
  67. package/package.json +1 -1
  68. package/src/Evaluator.ts +7 -6
  69. package/src/Observer.ts +1 -0
  70. package/src/common/callMetaReports.ts +2 -0
  71. package/src/common/utils.ts +11 -0
  72. package/src/middlewares/DeleteOutdatedCallEntries.ts +151 -0
  73. package/src/middlewares/DeleteOutdatedSfuEntries.ts +159 -0
  74. package/src/middlewares/TransactionContext.ts +61 -29
  75. package/src/middlewares/TransactoinProcessor.ts +8 -2
  76. package/src/middlewares/VisitObservedCallsMiddleware.ts +42 -128
  77. package/src/middlewares/visitors/visitClient.ts +34 -18
  78. package/src/middlewares/visitors/visitInboundAudioTrack.ts +15 -5
  79. package/src/middlewares/visitors/visitInboundVideoTrack.ts +14 -2
  80. package/src/middlewares/visitors/visitOutboundAudioTrack.ts +6 -2
  81. package/src/middlewares/visitors/visitOutboundVideoTarck.ts +5 -1
  82. package/src/middlewares/visitors/visitPeerConnection.ts +17 -1
  83. package/src/models/Models.ts +40 -34
  84. package/src/processes/findRemoteMatches.ts +94 -0
  85. package/src/processes/joinClientProcess.ts +1 -3
  86. package/src/samples/ObservedCalls.ts +17 -7
  87. package/src/samples/ObservedInboundAudioTrack.ts +2 -0
  88. package/src/samples/ObservedInboundVideoTrack.ts +3 -1
  89. package/src/samples/ObservedOutboundAudioTrack.ts +2 -1
  90. package/src/samples/ObservedOutboundVideoTrack.ts +2 -1
  91. package/src/samples/ObservedPeerConnection.ts +29 -8
  92. package/src/samples/ObservedSfus.ts +10 -5
  93. package/src/storages/ObserverStorage.ts +5 -0
  94. package/src/storages/SimpleStorage.ts +4 -0
@@ -9,6 +9,8 @@ export type EvaluatorEvents = {
9
9
  };
10
10
  export type EvaluatorConfig = {
11
11
  fetchSamples: boolean;
12
+ maxIdleTimeInMs?: number;
13
+ findRemoteMatches?: boolean;
12
14
  };
13
15
  export type EvaluatorProcess = (evaluatorContext: EvaluatorContext) => Promise<void>;
14
16
  export declare class Evaluator {
@@ -1 +1 @@
1
- {"version":3,"file":"Evaluator.d.ts","sourceRoot":"","sources":["../src/Evaluator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAuB,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAW7D,MAAM,MAAM,eAAe,GAAG;IAC7B,KAAK,EAAE,SAAS,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC7B,YAAY,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAErF,qBAAa,SAAS;aAeJ,MAAM,EAAE,eAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAjBnC,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,YAAY,CAAoC;IAExD,OAAO,CAAC,iBAAiB,CAAoC;IAC7D,OAAO,CAAC,QAAQ,CAAsB;IAEtC,OAAO,CAAC,mBAAmB,CAA6D;IACxF,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,qBAAqB,CAAgC;IAC7D,OAAO,CAAC,gBAAgB,CAA8B;gBAKrC,MAAM,EAAE,eAAe,EACtB,cAAc,EAAE,SAAS,EACzB,gBAAgB,EAAE,eAAe,EACjC,iBAAiB,EAAE,gBAAgB;IAa9C,UAAU,CAAC,OAAO,EAAE,gBAAgB;IASpC,aAAa,CAAC,OAAO,EAAE,gBAAgB;IASvC,qBAAqB,CAAC,YAAY,EAAE,0BAA0B;IAQ9D,sBAAsB,CAAC,YAAY,EAAE,0BAA0B;IAO/D,EAAE,CAAC,CAAC,SAAS,MAAM,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;IAKjG,GAAG,CAAC,CAAC,SAAS,MAAM,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;IAKzG,OAAO,CAAC,KAAK;IAIN,kBAAkB,CAAC,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,GAAG,IAAI;YAuD7D,KAAK;IAuBnB,IAAW,cAAc,IAAI,MAAM,CAElC;YAEa,QAAQ;CAqBtB"}
1
+ {"version":3,"file":"Evaluator.d.ts","sourceRoot":"","sources":["../src/Evaluator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAuB,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAW7D,MAAM,MAAM,eAAe,GAAG;IAC7B,KAAK,EAAE,SAAS,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC7B,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAErF,qBAAa,SAAS;aAeJ,MAAM,EAAE,eAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAjBnC,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,YAAY,CAAoC;IAExD,OAAO,CAAC,iBAAiB,CAAoC;IAC7D,OAAO,CAAC,QAAQ,CAAsB;IAEtC,OAAO,CAAC,mBAAmB,CAA6D;IACxF,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,qBAAqB,CAAgC;IAC7D,OAAO,CAAC,gBAAgB,CAA8B;gBAKrC,MAAM,EAAE,eAAe,EACtB,cAAc,EAAE,SAAS,EACzB,gBAAgB,EAAE,eAAe,EACjC,iBAAiB,EAAE,gBAAgB;IAe9C,UAAU,CAAC,OAAO,EAAE,gBAAgB;IASpC,aAAa,CAAC,OAAO,EAAE,gBAAgB;IASvC,qBAAqB,CAAC,YAAY,EAAE,0BAA0B;IAQ9D,sBAAsB,CAAC,YAAY,EAAE,0BAA0B;IAO/D,EAAE,CAAC,CAAC,SAAS,MAAM,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;IAKjG,GAAG,CAAC,CAAC,SAAS,MAAM,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;IAKzG,OAAO,CAAC,KAAK;IAIN,kBAAkB,CAAC,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,GAAG,IAAI;YAoD7D,KAAK;IAuBnB,IAAW,cAAc,IAAI,MAAM,CAElC;YAEa,QAAQ;CAqBtB"}
package/lib/Evaluator.js CHANGED
@@ -11,6 +11,7 @@ const events_1 = require("events");
11
11
  const logger = (0, logger_1.createLogger)('Evaluator');
12
12
  class Evaluator {
13
13
  constructor(config, _callSemaphore, _storageProvider, _reportsCollector) {
14
+ var _a;
14
15
  this.config = config;
15
16
  this._callSemaphore = _callSemaphore;
16
17
  this._storageProvider = _storageProvider;
@@ -21,7 +22,7 @@ class Evaluator {
21
22
  this._emitter = new events_1.EventEmitter();
22
23
  this._evaluatorProcesses = new Map();
23
24
  this._callProcessor = (0, CallProcessor_1.createCallProcessor)(_storageProvider, _reportsCollector);
24
- this._transactionProcessor = (0, TransactoinProcessor_1.createTransactionProcessor)(_storageProvider, _reportsCollector, this.config.fetchSamples);
25
+ this._transactionProcessor = (0, TransactoinProcessor_1.createTransactionProcessor)(_storageProvider, _reportsCollector, this.config.fetchSamples, BigInt((_a = this.config.maxIdleTimeInMs) !== null && _a !== void 0 ? _a : 10000), this.config.findRemoteMatches);
25
26
  this._customProcessor = (0, Processor_1.createProcessor)();
26
27
  }
27
28
  addProcess(process) {
@@ -110,9 +111,6 @@ class Evaluator {
110
111
  })
111
112
  .catch((err) => {
112
113
  logger.warn(`Error occurred while evaluating`, err);
113
- })
114
- .finally(() => {
115
- this._emit('ready', undefined);
116
114
  });
117
115
  }
118
116
  async _eval(callOperationsContext, evaluatorContext) {
@@ -1 +1 @@
1
- {"version":3,"file":"Observer.d.ts","sourceRoot":"","sources":["../src/Observer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Observer.d.ts","sourceRoot":"","sources":["../src/Observer.ts"],"names":[],"mappings":"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"}
package/lib/Observer.js CHANGED
@@ -20,6 +20,7 @@ class Observer {
20
20
  },
21
21
  evaluator: {
22
22
  fetchSamples: true,
23
+ maxIdleTimeInMs: 300 * 1000,
23
24
  },
24
25
  sink: {},
25
26
  logLevel: 'info',
@@ -59,5 +59,5 @@ export type CallMetaReportType = {
59
59
  type: CallMetaType.BROWSER;
60
60
  payload: Browser;
61
61
  };
62
- export declare function createCallMetaReport(serviceId: string, mediaUnitId: string, roomId: string, callId: string, clientId: string, reportType: CallMetaReportType, timestamp?: number): CallMetaReport;
62
+ export declare function createCallMetaReport(serviceId: string, mediaUnitId: string, roomId: string, callId: string, clientId: string, reportType: CallMetaReportType, userId?: string, timestamp?: number): CallMetaReport;
63
63
  //# sourceMappingURL=callMetaReports.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"callMetaReports.d.ts","sourceRoot":"","sources":["../../src/common/callMetaReports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EACN,OAAO,EACP,WAAW,EACX,MAAM,EACN,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,eAAe,EACf,eAAe,EACf,QAAQ,EACR,MAAM,+BAA+B,CAAC;AAEvC,oBAAY,YAAY;IACvB,WAAW,gBAAgB;IAC3B,KAAK,UAAU;IACf,mBAAmB,wBAAwB;IAC3C,oBAAoB,yBAAyB;IAC7C,UAAU,eAAe;IACzB,gBAAgB,qBAAqB;IACrC,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAC7B,gBAAgB,qBAAqB;IACrC,SAAS,cAAc;IAEvB,gBAAgB,qBAAqB;IACrC,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACnB;AAED,MAAM,MAAM,kBAAkB,GAC3B;IACA,IAAI,EAAE,YAAY,CAAC,WAAW,CAAC;IAC/B,OAAO,EAAE,WAAW,CAAC;CACtB,GAAG;IACF,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC;IACzB,OAAO,EAAE,eAAe,CAAC;CAC1B,GAAG;IACF,IAAI,EAAE,YAAY,CAAC,mBAAmB,CAAC;IACvC,OAAO,EAAE,iBAAiB,CAAC;CAC5B,GAAG;IACF,IAAI,EAAE,YAAY,CAAC,oBAAoB,CAAC;IACxC,OAAO,EAAE,kBAAkB,CAAC;CAC7B,GAAG;IACF,IAAI,EAAE,YAAY,CAAC,UAAU,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG;IACF,IAAI,EAAE,YAAY,CAAC,gBAAgB,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG;IACF,IAAI,EAAE,YAAY,CAAC,YAAY,CAAC;IAChC,OAAO,EAAE,WAAW,CAAC;CACtB,GAAG;IACF,IAAI,EAAE,YAAY,CAAC,YAAY,CAAC;IAChC,OAAO,EAAE,eAAe,CAAC;CAC1B,GAAG;IACF,IAAI,EAAE,YAAY,CAAC,gBAAgB,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG;IACF,IAAI,EAAE,YAAY,CAAC,gBAAgB,CAAC;IACpC,OAAO,EAAE,eAAe,CAAC;CAC1B,GAAG;IACF,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;IAC5B,OAAO,EAAE,QAAQ,CAAC;CACnB,GAAG;IACF,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG;IACF,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG;IACF,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEH,wBAAgB,oBAAoB,CACnC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,kBAAkB,EAC9B,SAAS,CAAC,EAAE,MAAM,kBAalB"}
1
+ {"version":3,"file":"callMetaReports.d.ts","sourceRoot":"","sources":["../../src/common/callMetaReports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EACN,OAAO,EACP,WAAW,EACX,MAAM,EACN,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,eAAe,EACf,eAAe,EACf,QAAQ,EACR,MAAM,+BAA+B,CAAC;AAEvC,oBAAY,YAAY;IACvB,WAAW,gBAAgB;IAC3B,KAAK,UAAU;IACf,mBAAmB,wBAAwB;IAC3C,oBAAoB,yBAAyB;IAC7C,UAAU,eAAe;IACzB,gBAAgB,qBAAqB;IACrC,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAC7B,gBAAgB,qBAAqB;IACrC,SAAS,cAAc;IAEvB,gBAAgB,qBAAqB;IACrC,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACnB;AAED,MAAM,MAAM,kBAAkB,GAC3B;IACA,IAAI,EAAE,YAAY,CAAC,WAAW,CAAC;IAC/B,OAAO,EAAE,WAAW,CAAC;CACtB,GAAG;IACF,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC;IACzB,OAAO,EAAE,eAAe,CAAC;CAC1B,GAAG;IACF,IAAI,EAAE,YAAY,CAAC,mBAAmB,CAAC;IACvC,OAAO,EAAE,iBAAiB,CAAC;CAC5B,GAAG;IACF,IAAI,EAAE,YAAY,CAAC,oBAAoB,CAAC;IACxC,OAAO,EAAE,kBAAkB,CAAC;CAC7B,GAAG;IACF,IAAI,EAAE,YAAY,CAAC,UAAU,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG;IACF,IAAI,EAAE,YAAY,CAAC,gBAAgB,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG;IACF,IAAI,EAAE,YAAY,CAAC,YAAY,CAAC;IAChC,OAAO,EAAE,WAAW,CAAC;CACtB,GAAG;IACF,IAAI,EAAE,YAAY,CAAC,YAAY,CAAC;IAChC,OAAO,EAAE,eAAe,CAAC;CAC1B,GAAG;IACF,IAAI,EAAE,YAAY,CAAC,gBAAgB,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG;IACF,IAAI,EAAE,YAAY,CAAC,gBAAgB,CAAC;IACpC,OAAO,EAAE,eAAe,CAAC;CAC1B,GAAG;IACF,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;IAC5B,OAAO,EAAE,QAAQ,CAAC;CACnB,GAAG;IACF,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG;IACF,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG;IACF,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEH,wBAAgB,oBAAoB,CACnC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,kBAAkB,EAC9B,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,kBAclB"}
@@ -18,7 +18,7 @@ var CallMetaType;
18
18
  CallMetaType["PLATFORM"] = "PLATFORM";
19
19
  CallMetaType["BROWSER"] = "BROWSER";
20
20
  })(CallMetaType = exports.CallMetaType || (exports.CallMetaType = {}));
21
- function createCallMetaReport(serviceId, mediaUnitId, roomId, callId, clientId, reportType, timestamp) {
21
+ function createCallMetaReport(serviceId, mediaUnitId, roomId, callId, clientId, reportType, userId, timestamp) {
22
22
  const report = {
23
23
  type: reportType.type,
24
24
  serviceId,
@@ -26,6 +26,7 @@ function createCallMetaReport(serviceId, mediaUnitId, roomId, callId, clientId,
26
26
  roomId,
27
27
  callId,
28
28
  clientId,
29
+ userId,
29
30
  payload: JSON.stringify(reportType.payload),
30
31
  timestamp: timestamp !== null && timestamp !== void 0 ? timestamp : Date.now(),
31
32
  };
@@ -2,4 +2,5 @@ export type PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
2
2
  export type Writable<T> = T extends object ? {
3
3
  -readonly [K in keyof T]: Writable<T[K]>;
4
4
  } : T;
5
+ export declare function iteratorConverter<T>(generator: Generator<T, void, undefined>): IterableIterator<T>;
5
6
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/common/utils.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAE/E,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG;IAAE,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/common/utils.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAE/E,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG;IAAE,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,CAAC,CAAC;AAE9F,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CASlG"}
@@ -1,2 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.iteratorConverter = void 0;
4
+ function iteratorConverter(generator) {
5
+ return {
6
+ [Symbol.iterator]() {
7
+ return this;
8
+ },
9
+ next() {
10
+ return generator.next();
11
+ },
12
+ };
13
+ }
14
+ exports.iteratorConverter = iteratorConverter;
@@ -0,0 +1,6 @@
1
+ import { Middleware } from './Middleware';
2
+ import { TransactionContext } from './TransactionContext';
3
+ import { StorageProvider } from '..';
4
+ export declare const logger: import("../common/logger").WrappedLogger;
5
+ export declare function createDeleteOutdatedCallEntries(storages: StorageProvider, maxIdleTimeInMs: BigInt): Middleware<TransactionContext>;
6
+ //# sourceMappingURL=DeleteOutdatedCallEntries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeleteOutdatedCallEntries.d.ts","sourceRoot":"","sources":["../../src/middlewares/DeleteOutdatedCallEntries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAErC,eAAO,MAAM,MAAM,0CAA4C,CAAC;AAEhE,wBAAgB,+BAA+B,CAC9C,QAAQ,EAAE,eAAe,EACzB,eAAe,EAAE,MAAM,GACrB,UAAU,CAAC,kBAAkB,CAAC,CA4IhC"}
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createDeleteOutdatedCallEntries = exports.logger = void 0;
4
+ const logger_1 = require("../common/logger");
5
+ exports.logger = (0, logger_1.createLogger)('DeleteOutdatedCallEntries');
6
+ function createDeleteOutdatedCallEntries(storages, maxIdleTimeInMs) {
7
+ const process = async (transaction) => {
8
+ const { clients, evaluatorContext, updatedPeerConnections, deletedPeerConnections, updatedInboundAudioTracks, deletedInboundAudioTracks, updatedInboundVideoTracks, deletedInboundVideoTracks, updatedOutboundAudioTracks, deletedOutboundAudioTracks, updatedOutboundVideoTracks, deletedOutboundVideoTracks, } = transaction;
9
+ const now = BigInt(Date.now());
10
+ const deletedCallIds = new Set(evaluatorContext.endedCalls.map(c => c.callId).filter(id => !!id));
11
+ const deletedClientIds = new Set(evaluatorContext.detachedClients.map(c => c.clientId).filter(id => !!id));
12
+ for (const [peerConnectionId, peerConnection] of storages.peerConnectionStorage.localEntries()) {
13
+ if (updatedPeerConnections.has(peerConnectionId)) {
14
+ continue;
15
+ }
16
+ const { touched, clientId, callId } = peerConnection;
17
+ if (touched && now - touched < maxIdleTimeInMs) {
18
+ if (!deletedCallIds.has(callId !== null && callId !== void 0 ? callId : "not exists") &&
19
+ !deletedClientIds.has(clientId !== null && clientId !== void 0 ? clientId : "not exists")) {
20
+ continue;
21
+ }
22
+ }
23
+ deletedPeerConnections.add(peerConnectionId);
24
+ if (clientId) {
25
+ let storedClient = clients.get(clientId);
26
+ if (storedClient) {
27
+ storedClient.peerConnectionIds = storedClient.peerConnectionIds.filter((pcId) => pcId !== peerConnectionId);
28
+ }
29
+ else {
30
+ storedClient = await storages.clientStorage.get(clientId);
31
+ if (storedClient) {
32
+ storedClient.peerConnectionIds = storedClient.peerConnectionIds.filter((pcId) => pcId !== peerConnectionId);
33
+ await storages.clientStorage.set(clientId, storedClient);
34
+ }
35
+ }
36
+ }
37
+ }
38
+ for (const [trackId, inboundTrack] of storages.inboundTrackStorage.localEntries()) {
39
+ if (updatedInboundAudioTracks.has(trackId) || updatedInboundVideoTracks.has(trackId)) {
40
+ continue;
41
+ }
42
+ const { touched, clientId, callId, peerConnectionId } = inboundTrack;
43
+ if (touched && now - touched < maxIdleTimeInMs) {
44
+ if (!deletedCallIds.has(callId !== null && callId !== void 0 ? callId : "not exists") &&
45
+ !deletedClientIds.has(clientId !== null && clientId !== void 0 ? clientId : "not exists") &&
46
+ !deletedPeerConnections.has(peerConnectionId !== null && peerConnectionId !== void 0 ? peerConnectionId : "not exists")) {
47
+ continue;
48
+ }
49
+ }
50
+ switch (inboundTrack.kind) {
51
+ case 'audio':
52
+ deletedInboundAudioTracks.add(trackId);
53
+ break;
54
+ case 'video':
55
+ deletedInboundVideoTracks.add(trackId);
56
+ }
57
+ if (peerConnectionId) {
58
+ let storedPeerConnection = updatedPeerConnections.get(peerConnectionId);
59
+ if (!storedPeerConnection) {
60
+ storedPeerConnection = await storages.peerConnectionStorage.get(peerConnectionId);
61
+ if (storedPeerConnection) {
62
+ updatedPeerConnections.set(peerConnectionId, storedPeerConnection);
63
+ }
64
+ }
65
+ if (storedPeerConnection) {
66
+ storedPeerConnection.inboundTrackIds = storedPeerConnection.inboundTrackIds.filter((tId) => tId !== trackId);
67
+ }
68
+ }
69
+ }
70
+ // console.warn("auodiaussdoi", updatedOutboundAudioTracks, updatedOutboundVideoTracks);
71
+ for (const [trackId, outboundTrack] of storages.outboundTrackStorage.localEntries()) {
72
+ if (updatedOutboundAudioTracks.has(trackId) || updatedOutboundVideoTracks.has(trackId)) {
73
+ continue;
74
+ }
75
+ const { touched, clientId, callId, peerConnectionId } = outboundTrack;
76
+ // console.warn("deprecated outb tracks", outboundTrack, now, touched, maxIdleTimeInMs, touched && now - touched < maxIdleTimeInMs, callId)
77
+ if (touched && now - touched < maxIdleTimeInMs) {
78
+ if (!deletedCallIds.has(callId !== null && callId !== void 0 ? callId : "not exists") &&
79
+ !deletedClientIds.has(clientId !== null && clientId !== void 0 ? clientId : "not exists") &&
80
+ !deletedPeerConnections.has(peerConnectionId !== null && peerConnectionId !== void 0 ? peerConnectionId : "not exists")) {
81
+ continue;
82
+ }
83
+ }
84
+ switch (outboundTrack.kind) {
85
+ case 'audio':
86
+ deletedOutboundAudioTracks.add(trackId);
87
+ break;
88
+ case 'video':
89
+ deletedOutboundVideoTracks.add(trackId);
90
+ }
91
+ if (peerConnectionId) {
92
+ let storedPeerConnection = updatedPeerConnections.get(peerConnectionId);
93
+ if (!storedPeerConnection) {
94
+ storedPeerConnection = await storages.peerConnectionStorage.get(peerConnectionId);
95
+ if (storedPeerConnection) {
96
+ updatedPeerConnections.set(peerConnectionId, storedPeerConnection);
97
+ }
98
+ }
99
+ if (storedPeerConnection) {
100
+ storedPeerConnection.outboundTrackIds = storedPeerConnection.outboundTrackIds.filter((tId) => tId !== trackId);
101
+ }
102
+ }
103
+ }
104
+ };
105
+ const result = async (context, next) => {
106
+ await process(context);
107
+ if (next)
108
+ await next(context);
109
+ };
110
+ return result;
111
+ }
112
+ exports.createDeleteOutdatedCallEntries = createDeleteOutdatedCallEntries;
@@ -0,0 +1,6 @@
1
+ import { Middleware } from './Middleware';
2
+ import { TransactionContext } from './TransactionContext';
3
+ import { StorageProvider } from '..';
4
+ export declare const logger: import("../common/logger").WrappedLogger;
5
+ export declare function createDeleteOutdatedSfuEntries(storages: StorageProvider, maxIdleTimeInMs: BigInt): Middleware<TransactionContext>;
6
+ //# sourceMappingURL=DeleteOutdatedSfuEntries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeleteOutdatedSfuEntries.d.ts","sourceRoot":"","sources":["../../src/middlewares/DeleteOutdatedSfuEntries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAErC,eAAO,MAAM,MAAM,0CAA2C,CAAC;AAE/D,wBAAgB,8BAA8B,CAC7C,QAAQ,EAAE,eAAe,EACzB,eAAe,EAAE,MAAM,GACrB,UAAU,CAAC,kBAAkB,CAAC,CAoJhC"}
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createDeleteOutdatedSfuEntries = exports.logger = void 0;
4
+ const logger_1 = require("../common/logger");
5
+ exports.logger = (0, logger_1.createLogger)('DeleteOutdatedSfuEntries');
6
+ function createDeleteOutdatedSfuEntries(storages, maxIdleTimeInMs) {
7
+ const process = async (transaction) => {
8
+ const { updatedSfus, deletedSfus, updatedSfuTransports, deletedSfuTransports, updatedSfuInboundRtpPads, deletedSfuInboundRtpPads, updatedSfuOutboundRtpPads, deletedSfuOutboundRtpPads, updatedSfuSctpChannels, deletedSfuSctpChannels } = transaction;
9
+ const now = BigInt(Date.now());
10
+ for (const [sfuTransportId, sfuTransport] of storages.sfuTransportStorage.localEntries()) {
11
+ if (updatedSfuTransports.has(sfuTransportId)) {
12
+ continue;
13
+ }
14
+ const { touched, sfuId } = sfuTransport;
15
+ if (touched && now - touched < maxIdleTimeInMs) {
16
+ if (!deletedSfus.has(sfuId !== null && sfuId !== void 0 ? sfuId : "not exists")) {
17
+ continue;
18
+ }
19
+ }
20
+ deletedSfuTransports.add(sfuTransportId);
21
+ if (sfuId) {
22
+ let storedSfu = updatedSfus.get(sfuId);
23
+ if (storedSfu) {
24
+ storedSfu.sfuTransportIds = storedSfu.sfuTransportIds.filter((transportId) => transportId !== sfuTransportId);
25
+ }
26
+ else {
27
+ storedSfu = await storages.sfuStorage.get(sfuId);
28
+ if (storedSfu) {
29
+ storedSfu.sfuTransportIds = storedSfu.sfuTransportIds.filter((transportId) => transportId !== sfuTransportId);
30
+ await storages.sfuStorage.set(sfuId, storedSfu);
31
+ }
32
+ }
33
+ }
34
+ }
35
+ for (const [sfuInboundPadId, sfuInboundPad] of storages.sfuInboundRtpPadStorage.localEntries()) {
36
+ if (updatedSfuInboundRtpPads.has(sfuInboundPadId)) {
37
+ continue;
38
+ }
39
+ const { touched, sfuTransportId, sfuId } = sfuInboundPad;
40
+ if (touched && now - touched < maxIdleTimeInMs) {
41
+ if (!deletedSfuTransports.has(sfuTransportId !== null && sfuTransportId !== void 0 ? sfuTransportId : "not exists") &&
42
+ !deletedSfus.has(sfuId !== null && sfuId !== void 0 ? sfuId : "not exists")) {
43
+ continue;
44
+ }
45
+ }
46
+ deletedSfuInboundRtpPads.add(sfuInboundPadId);
47
+ if (sfuTransportId) {
48
+ let storedSfuTransport = updatedSfuTransports.get(sfuTransportId);
49
+ if (!storedSfuTransport) {
50
+ storedSfuTransport = await storages.sfuTransportStorage.get(sfuTransportId);
51
+ if (storedSfuTransport) {
52
+ updatedSfuTransports.set(sfuTransportId, storedSfuTransport);
53
+ }
54
+ }
55
+ if (storedSfuTransport) {
56
+ storedSfuTransport.inboundRtpPadIds = storedSfuTransport.inboundRtpPadIds.filter((tId) => tId !== sfuInboundPadId);
57
+ }
58
+ }
59
+ }
60
+ for (const [sfuOutboundPadId, sfuOutboundPad] of storages.sfuOutboundRtpPadStorage.localEntries()) {
61
+ if (updatedSfuOutboundRtpPads.has(sfuOutboundPadId)) {
62
+ continue;
63
+ }
64
+ const { touched, sfuTransportId, sfuId } = sfuOutboundPad;
65
+ if (touched && now - touched < maxIdleTimeInMs) {
66
+ if (!deletedSfuTransports.has(sfuTransportId !== null && sfuTransportId !== void 0 ? sfuTransportId : "not exists") &&
67
+ !deletedSfus.has(sfuId !== null && sfuId !== void 0 ? sfuId : "not exists")) {
68
+ continue;
69
+ }
70
+ }
71
+ deletedSfuOutboundRtpPads.add(sfuOutboundPadId);
72
+ if (sfuTransportId) {
73
+ let storedSfuTransport = updatedSfuTransports.get(sfuTransportId);
74
+ if (!storedSfuTransport) {
75
+ storedSfuTransport = await storages.sfuTransportStorage.get(sfuTransportId);
76
+ if (storedSfuTransport) {
77
+ updatedSfuTransports.set(sfuTransportId, storedSfuTransport);
78
+ }
79
+ }
80
+ if (storedSfuTransport) {
81
+ storedSfuTransport.outboundRtpPadIds = storedSfuTransport.outboundRtpPadIds.filter((tId) => tId !== sfuOutboundPadId);
82
+ }
83
+ }
84
+ }
85
+ for (const [sctpChannelId, sctpChannel] of storages.sfuSctpChannelStorage.localEntries()) {
86
+ if (updatedSfuSctpChannels.has(sctpChannelId)) {
87
+ continue;
88
+ }
89
+ const { touched, sfuTransportId, sfuId } = sctpChannel;
90
+ if (touched && now - touched < maxIdleTimeInMs) {
91
+ if (!deletedSfuTransports.has(sfuTransportId !== null && sfuTransportId !== void 0 ? sfuTransportId : "not exists") &&
92
+ !deletedSfus.has(sfuId !== null && sfuId !== void 0 ? sfuId : "not exists")) {
93
+ continue;
94
+ }
95
+ }
96
+ deletedSfuSctpChannels.add(sctpChannelId);
97
+ if (sfuTransportId) {
98
+ let storedSfuTransport = updatedSfuTransports.get(sfuTransportId);
99
+ if (!storedSfuTransport) {
100
+ storedSfuTransport = await storages.sfuTransportStorage.get(sfuTransportId);
101
+ if (storedSfuTransport) {
102
+ updatedSfuTransports.set(sfuTransportId, storedSfuTransport);
103
+ }
104
+ }
105
+ if (storedSfuTransport) {
106
+ storedSfuTransport.sctpChannelIds = storedSfuTransport.sctpChannelIds.filter((tId) => tId !== sctpChannelId);
107
+ }
108
+ }
109
+ }
110
+ };
111
+ const result = async (context, next) => {
112
+ await process(context);
113
+ if (next)
114
+ await next(context);
115
+ };
116
+ return result;
117
+ }
118
+ exports.createDeleteOutdatedSfuEntries = createDeleteOutdatedSfuEntries;
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionContext.d.ts","sourceRoot":"","sources":["../../src/middlewares/TransactionContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,MAAM,MAAM,kBAAkB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,EAAE,YAAY,CAAC;IAE3B,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAE5C,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IAC3D,sBAAsB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAEpC,yBAAyB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IAC5D,yBAAyB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAEvC,0BAA0B,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IAC9D,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAExC,yBAAyB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IAC5D,yBAAyB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAEvC,0BAA0B,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IAC9D,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAExC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IACrC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAEzB,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IACvD,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAElC,wBAAwB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC/D,wBAAwB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAEtC,yBAAyB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACjE,yBAAyB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAEvC,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IAC3D,sBAAsB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAGpC,gBAAgB,EAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,eAAe,GAAG,cAAc,CAAC,CAAC,CAAC;CACrF,CAAC;AAEF,wBAAsB,wBAAwB,CAC7C,gBAAgB,EAAE,gBAAgB,EAClC,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY,GACxB,OAAO,CAAC,kBAAkB,CAAC,CAwF7B"}
1
+ {"version":3,"file":"TransactionContext.d.ts","sourceRoot":"","sources":["../../src/middlewares/TransactionContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,MAAM,MAAM,kBAAkB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,EAAE,YAAY,CAAC;IAE3B,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAE5C,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IAC3D,sBAAsB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAEpC,yBAAyB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IAC5D,yBAAyB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAEvC,0BAA0B,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IAC9D,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAExC,yBAAyB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IAC5D,yBAAyB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAEvC,0BAA0B,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IAC9D,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAExC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IACrC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAEzB,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IACvD,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAElC,wBAAwB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC/D,wBAAwB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAEtC,yBAAyB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACjE,yBAAyB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAEvC,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IAC3D,sBAAsB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAGpC,gBAAgB,EAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,eAAe,GAAG,cAAc,CAAC,CAAC,CAAC;CACrF,CAAC;AAEF,wBAAsB,wBAAwB,CAC7C,gBAAgB,EAAE,gBAAgB,EAClC,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY,GACxB,OAAO,CAAC,kBAAkB,CAAC,CAwH7B"}
@@ -4,33 +4,49 @@ exports.createTransactionContext = void 0;
4
4
  const uuid_1 = require("uuid");
5
5
  async function createTransactionContext(evaluatorContext, storageProvider, observedCalls, observedSfus) {
6
6
  const { clientStorage, peerConnectionStorage, inboundTrackStorage, outboundTrackStorage, sfuStorage, sfuTransportStorage, sfuInboundRtpPadStorage, sfuOutboundRtpPadStorage, sfuSctpChannelStorage, } = storageProvider;
7
- const [clients, sfus] = await Promise.all([clientStorage.getAll(observedCalls.clientIds()), sfuStorage.getAll([])]);
8
- const peerConnectionIds = Array.from(clients.values()).flatMap((client) => client.peerConnectionIds);
9
- const sfuTransportIds = Array.from(sfus.values()).flatMap((sfu) => sfu.sfuTransportIds);
10
- const [peerConnections, sfuTransports] = await Promise.all([
11
- peerConnectionStorage.getAll(peerConnectionIds),
12
- sfuTransportStorage.getAll(sfuTransportIds),
7
+ const [[clients, peerConnections, inboundAudioTrackEntries, inboundVideoTrackEntries, outboundAudioTrackEntries, outboundVideoTrackEntries,], [sfus, sfuTransports, sfuInboundRtpPads, sfuOutboundRtpPads, sfuSctpChannels]] = await Promise.all([
8
+ Promise.all([
9
+ clientStorage.getAll(observedCalls.clientIds()),
10
+ peerConnectionStorage.getAll(observedCalls.peerConnectionIds()),
11
+ inboundTrackStorage.getAll(observedCalls.inboundAudioTrackIds()),
12
+ inboundTrackStorage.getAll(observedCalls.inboundVideoTrackIds()),
13
+ outboundTrackStorage.getAll(observedCalls.outboundAudioTrackIds()),
14
+ outboundTrackStorage.getAll(observedCalls.outboundVideoTrackIds()),
15
+ ]),
16
+ Promise.all([
17
+ sfuStorage.getAll(observedSfus.sfuIds()),
18
+ sfuTransportStorage.getAll(observedSfus.sfuTransportIds()),
19
+ sfuInboundRtpPadStorage.getAll(observedCalls.peerConnectionIds()),
20
+ sfuOutboundRtpPadStorage.getAll(observedCalls.peerConnectionIds()),
21
+ sfuSctpChannelStorage.getAll(observedCalls.peerConnectionIds()),
22
+ ])
13
23
  ]);
14
- const peerConnectionValues = Array.from(peerConnections.values());
15
- const inboundTrackIds = peerConnectionValues.flatMap((pc) => pc.inboundTrackIds);
16
- const outboundTrackIds = peerConnectionValues.flatMap((pc) => pc.outboundTrackIds);
17
- const sfuTransportValues = Array.from(sfuTransports.values());
18
- const sfuInboundRtpPadIds = sfuTransportValues.flatMap((sfuTransport) => sfuTransport.inboundRtpPadIds);
19
- const sfuOutboundRtpPadIds = sfuTransportValues.flatMap((sfuTransport) => sfuTransport.outboundRtpPadIds);
20
- const sfuSctpChannelIds = sfuTransportValues.flatMap((sfuTransport) => sfuTransport.sctpChannelIds);
21
- const [inboundTracks, outboundTracks, sfuInboundRtpPads, sfuOutboundRtpPads, sfuSctpChannels] = await Promise.all([
22
- inboundTrackStorage.getAll(inboundTrackIds),
23
- outboundTrackStorage.getAll(outboundTrackIds),
24
- sfuInboundRtpPadStorage.getAll(sfuInboundRtpPadIds),
25
- sfuOutboundRtpPadStorage.getAll(sfuOutboundRtpPadIds),
26
- sfuSctpChannelStorage.getAll(sfuSctpChannelIds),
27
- ]);
28
- const inboundTrackEntries = Array.from(inboundTracks);
29
- const outboundTrackEntries = Array.from(outboundTracks);
30
- const inboundAudioTrackEntries = inboundTrackEntries.filter((e) => e[1].kind === 'audio');
31
- const inboundVideoTrackEntries = inboundTrackEntries.filter((e) => e[1].kind === 'video');
32
- const outboundAudioTrackEntries = outboundTrackEntries.filter((e) => e[1].kind === 'audio');
33
- const outboundVideoTrackEntries = outboundTrackEntries.filter((e) => e[1].kind === 'video');
24
+ // const peerConnectionIds = Array.from(clients.values()).flatMap((client) => client.peerConnectionIds);
25
+ // const sfuTransportIds = Array.from(sfus.values()).flatMap((sfu) => sfu.sfuTransportIds);
26
+ // const [peerConnections, sfuTransports] = await Promise.all([
27
+ // peerConnectionStorage.getAll(peerConnectionIds),
28
+ // sfuTransportStorage.getAll(sfuTransportIds),
29
+ // ]);
30
+ // const peerConnectionValues = Array.from(peerConnections.values());
31
+ // const inboundTrackIds = peerConnectionValues.flatMap((pc) => pc.inboundTrackIds);
32
+ // const outboundTrackIds = peerConnectionValues.flatMap((pc) => pc.outboundTrackIds);
33
+ // const sfuTransportValues = Array.from(sfuTransports.values());
34
+ // const sfuInboundRtpPadIds = sfuTransportValues.flatMap((sfuTransport) => sfuTransport.inboundRtpPadIds);
35
+ // const sfuOutboundRtpPadIds = sfuTransportValues.flatMap((sfuTransport) => sfuTransport.outboundRtpPadIds);
36
+ // const sfuSctpChannelIds = sfuTransportValues.flatMap((sfuTransport) => sfuTransport.sctpChannelIds);
37
+ // const [inboundTracks, outboundTracks, sfuInboundRtpPads, sfuOutboundRtpPads, sfuSctpChannels] = await Promise.all([
38
+ // inboundTrackStorage.getAll(inboundTrackIds),
39
+ // outboundTrackStorage.getAll(outboundTrackIds),
40
+ // sfuInboundRtpPadStorage.getAll(sfuInboundRtpPadIds),
41
+ // sfuOutboundRtpPadStorage.getAll(sfuOutboundRtpPadIds),
42
+ // sfuSctpChannelStorage.getAll(sfuSctpChannelIds),
43
+ // ]);
44
+ // const inboundTrackEntries = Array.from(inboundTracks);
45
+ // const outboundTrackEntries = Array.from(outboundTracks);
46
+ // const inboundAudioTrackEntries = inboundTrackEntries.filter((e) => e[1].kind === 'audio');
47
+ // const inboundVideoTrackEntries = inboundTrackEntries.filter((e) => e[1].kind === 'video');
48
+ // const outboundAudioTrackEntries = outboundTrackEntries.filter((e) => e[1].kind === 'audio');
49
+ // const outboundVideoTrackEntries = outboundTrackEntries.filter((e) => e[1].kind === 'video');
34
50
  const transactionContext = {
35
51
  id: (0, uuid_1.v4)(),
36
52
  observedCalls,
@@ -2,5 +2,5 @@ import { ReportsCollector } from '../common/ReportsCollector';
2
2
  import { StorageProvider } from '../storages/StorageProvider';
3
3
  import { Processor } from './Processor';
4
4
  import { TransactionContext } from './TransactionContext';
5
- export declare function createTransactionProcessor(storageProvider: StorageProvider, reportsCollector: ReportsCollector, fetchSamples: boolean): Processor<TransactionContext>;
5
+ export declare function createTransactionProcessor(storageProvider: StorageProvider, reportsCollector: ReportsCollector, fetchSamples: boolean, maxIdleTimeInMs: BigInt, findRemoteMatches?: boolean): Processor<TransactionContext>;
6
6
  //# sourceMappingURL=TransactoinProcessor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TransactoinProcessor.d.ts","sourceRoot":"","sources":["../../src/middlewares/TransactoinProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAmB,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI1D,wBAAgB,0BAA0B,CACzC,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EAAE,OAAO,GACnB,SAAS,CAAC,kBAAkB,CAAC,CAS/B"}
1
+ {"version":3,"file":"TransactoinProcessor.d.ts","sourceRoot":"","sources":["../../src/middlewares/TransactoinProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAI9D,OAAO,EAAE,SAAS,EAAmB,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI1D,wBAAgB,0BAA0B,CACzC,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EAAE,OAAO,EACrB,eAAe,EAAE,MAAM,EACvB,iBAAiB,CAAC,EAAE,OAAO,GACzB,SAAS,CAAC,kBAAkB,CAAC,CAW/B"}
@@ -2,13 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createTransactionProcessor = void 0;
4
4
  const CommitTransactionMiddleware_1 = require("./CommitTransactionMiddleware");
5
+ const DeleteOutdatedCallEntries_1 = require("./DeleteOutdatedCallEntries");
6
+ const DeleteOutdatedSfuEntries_1 = require("./DeleteOutdatedSfuEntries");
5
7
  const Processor_1 = require("./Processor");
6
8
  const VisitObservedCallsMiddleware_1 = require("./VisitObservedCallsMiddleware");
7
9
  const VisitObservedSfusMiddleware_1 = require("./VisitObservedSfusMiddleware");
8
- function createTransactionProcessor(storageProvider, reportsCollector, fetchSamples) {
10
+ function createTransactionProcessor(storageProvider, reportsCollector, fetchSamples, maxIdleTimeInMs, findRemoteMatches) {
9
11
  return (0, Processor_1.createProcessor)(
10
12
  // all of these middlewares must execute sequentially!
11
- (0, VisitObservedCallsMiddleware_1.createVisitObservedCallsMiddleware)(reportsCollector, fetchSamples), (0, VisitObservedSfusMiddleware_1.createVisitObservedSfusMiddleware)(reportsCollector, fetchSamples),
13
+ (0, VisitObservedCallsMiddleware_1.createVisitObservedCallsMiddleware)(storageProvider, reportsCollector, fetchSamples, findRemoteMatches), (0, VisitObservedSfusMiddleware_1.createVisitObservedSfusMiddleware)(reportsCollector, fetchSamples), (0, DeleteOutdatedCallEntries_1.createDeleteOutdatedCallEntries)(storageProvider, maxIdleTimeInMs), (0, DeleteOutdatedSfuEntries_1.createDeleteOutdatedSfuEntries)(storageProvider, maxIdleTimeInMs),
12
14
  // must be the last one!
13
15
  (0, CommitTransactionMiddleware_1.createCommitTransactionMiddleware)(storageProvider, reportsCollector));
14
16
  }
@@ -1,6 +1,7 @@
1
1
  import { Middleware } from './Middleware';
2
2
  import { TransactionContext } from './TransactionContext';
3
3
  import { ReportsCollector } from '../common/ReportsCollector';
4
+ import { StorageProvider } from '../storages/StorageProvider';
4
5
  export declare const logger: import("../common/logger").WrappedLogger;
5
- export declare function createVisitObservedCallsMiddleware(reports: ReportsCollector, fetchSamples: boolean): Middleware<TransactionContext>;
6
+ export declare function createVisitObservedCallsMiddleware(storages: StorageProvider, reports: ReportsCollector, fetchSamples: boolean, findRemoteMatches?: boolean): Middleware<TransactionContext>;
6
7
  //# sourceMappingURL=VisitObservedCallsMiddleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VisitObservedCallsMiddleware.d.ts","sourceRoot":"","sources":["../../src/middlewares/VisitObservedCallsMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAS9D,eAAO,MAAM,MAAM,0CAA+C,CAAC;AAEnE,wBAAgB,kCAAkC,CACjD,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,OAAO,GACnB,UAAU,CAAC,kBAAkB,CAAC,CA8OhC"}
1
+ {"version":3,"file":"VisitObservedCallsMiddleware.d.ts","sourceRoot":"","sources":["../../src/middlewares/VisitObservedCallsMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAS9D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,eAAO,MAAM,MAAM,0CAA+C,CAAC;AAInE,wBAAgB,kCAAkC,CACjD,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,OAAO,EACrB,iBAAiB,CAAC,EAAE,OAAO,GACzB,UAAU,CAAC,kBAAkB,CAAC,CAiJhC"}