@ludeo/cloud-common 1.2.281 → 1.2.282

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.
@@ -0,0 +1,24 @@
1
+ import { LudeoEvent } from "../../../infra";
2
+ import { CloudSessionContext } from "../../contexts";
3
+ export declare enum CloudSessionDequeuedReason {
4
+ Allocated = "allocated",
5
+ Timeout = "timeout",
6
+ Disconnected = "disconnected",
7
+ SessionEnded = "session_ended"
8
+ }
9
+ export declare enum CloudSessionDequeuedServedBy {
10
+ LudeoAvailable = "ludeo_available",
11
+ Interval = "interval"
12
+ }
13
+ export declare class CloudSessionDequeuedPayload {
14
+ waitedMs: number;
15
+ reason: CloudSessionDequeuedReason;
16
+ servedBy?: CloudSessionDequeuedServedBy;
17
+ position?: number;
18
+ }
19
+ export declare class CloudSessionDequeued extends LudeoEvent {
20
+ static readonly EVENT_NAME = "cloud-session-allocator.cloud-session-dequeued";
21
+ constructor(payload: CloudSessionDequeuedPayload, context: CloudSessionContext);
22
+ payload: CloudSessionDequeuedPayload;
23
+ context: CloudSessionContext;
24
+ }
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CloudSessionDequeued = exports.CloudSessionDequeuedPayload = exports.CloudSessionDequeuedServedBy = exports.CloudSessionDequeuedReason = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ const decorators_1 = require("../../../decorators");
15
+ const infra_1 = require("../../../infra");
16
+ const contexts_1 = require("../../contexts");
17
+ var CloudSessionDequeuedReason;
18
+ (function (CloudSessionDequeuedReason) {
19
+ CloudSessionDequeuedReason["Allocated"] = "allocated";
20
+ CloudSessionDequeuedReason["Timeout"] = "timeout";
21
+ CloudSessionDequeuedReason["Disconnected"] = "disconnected";
22
+ CloudSessionDequeuedReason["SessionEnded"] = "session_ended";
23
+ })(CloudSessionDequeuedReason || (exports.CloudSessionDequeuedReason = CloudSessionDequeuedReason = {}));
24
+ var CloudSessionDequeuedServedBy;
25
+ (function (CloudSessionDequeuedServedBy) {
26
+ CloudSessionDequeuedServedBy["LudeoAvailable"] = "ludeo_available";
27
+ CloudSessionDequeuedServedBy["Interval"] = "interval";
28
+ })(CloudSessionDequeuedServedBy || (exports.CloudSessionDequeuedServedBy = CloudSessionDequeuedServedBy = {}));
29
+ class CloudSessionDequeuedPayload {
30
+ }
31
+ exports.CloudSessionDequeuedPayload = CloudSessionDequeuedPayload;
32
+ __decorate([
33
+ (0, class_validator_1.IsInt)(),
34
+ __metadata("design:type", Number)
35
+ ], CloudSessionDequeuedPayload.prototype, "waitedMs", void 0);
36
+ __decorate([
37
+ (0, class_validator_1.IsEnum)(CloudSessionDequeuedReason),
38
+ __metadata("design:type", String)
39
+ ], CloudSessionDequeuedPayload.prototype, "reason", void 0);
40
+ __decorate([
41
+ (0, class_validator_1.IsOptional)(),
42
+ (0, class_validator_1.IsEnum)(CloudSessionDequeuedServedBy),
43
+ __metadata("design:type", String)
44
+ ], CloudSessionDequeuedPayload.prototype, "servedBy", void 0);
45
+ __decorate([
46
+ (0, class_validator_1.IsOptional)(),
47
+ (0, class_validator_1.IsInt)(),
48
+ __metadata("design:type", Number)
49
+ ], CloudSessionDequeuedPayload.prototype, "position", void 0);
50
+ class CloudSessionDequeued extends infra_1.LudeoEvent {
51
+ constructor(payload, context) {
52
+ super(CloudSessionDequeued.EVENT_NAME);
53
+ this.payload = payload;
54
+ this.context = context;
55
+ }
56
+ }
57
+ exports.CloudSessionDequeued = CloudSessionDequeued;
58
+ CloudSessionDequeued.EVENT_NAME = "cloud-session-allocator.cloud-session-dequeued";
59
+ __decorate([
60
+ (0, decorators_1.ValidateNestedType)(() => CloudSessionDequeuedPayload),
61
+ __metadata("design:type", CloudSessionDequeuedPayload)
62
+ ], CloudSessionDequeued.prototype, "payload", void 0);
63
+ __decorate([
64
+ (0, decorators_1.ValidateNestedType)(() => contexts_1.CloudSessionContext),
65
+ __metadata("design:type", contexts_1.CloudSessionContext)
66
+ ], CloudSessionDequeued.prototype, "context", void 0);
67
+ //# sourceMappingURL=cloud-session-dequeued.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-session-dequeued.js","sourceRoot":"","sources":["../../../../src/v4/events/cloud-session-allocator/cloud-session-dequeued.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA4D;AAE5D,oDAAyD;AACzD,0CAA4C;AAC5C,6CAAqD;AAGrD,IAAY,0BAKX;AALD,WAAY,0BAA0B;IACpC,qDAAuB,CAAA;IACvB,iDAAmB,CAAA;IACnB,2DAA6B,CAAA;IAC7B,4DAA8B,CAAA;AAChC,CAAC,EALW,0BAA0B,0CAA1B,0BAA0B,QAKrC;AAGD,IAAY,4BAGX;AAHD,WAAY,4BAA4B;IACtC,kEAAkC,CAAA;IAClC,qDAAqB,CAAA;AACvB,CAAC,EAHW,4BAA4B,4CAA5B,4BAA4B,QAGvC;AAGD,MAAa,2BAA2B;CAgBvC;AAhBD,kEAgBC;AAbC;IADC,IAAA,uBAAK,GAAE;;6DACS;AAGjB;IADC,IAAA,wBAAM,EAAC,0BAA0B,CAAC;;2DACA;AAInC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,EAAC,4BAA4B,CAAC;;6DACG;AAKxC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,uBAAK,GAAE;;6DACU;AAGpB,MAAa,oBAAqB,SAAQ,kBAAU;IAGlD,YAAY,OAAoC,EAAE,OAA4B;QAC5E,KAAK,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;;AAPH,oDAcC;AAbiB,+BAAU,GAAG,gDAAgD,CAAC;AAS9E;IADC,IAAA,+BAAkB,EAAC,GAAG,EAAE,CAAC,2BAA2B,CAAC;8BAC7C,2BAA2B;qDAAC;AAGrC;IADC,IAAA,+BAAkB,EAAC,GAAG,EAAE,CAAC,8BAAmB,CAAC;8BACrC,8BAAmB;qDAAC"}
@@ -1,2 +1,3 @@
1
1
  export * from "./allocate-cloud-session-requested";
2
2
  export * from "./cloud-session-queued";
3
+ export * from "./cloud-session-dequeued";
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./allocate-cloud-session-requested"), exports);
18
18
  __exportStar(require("./cloud-session-queued"), exports);
19
+ __exportStar(require("./cloud-session-dequeued"), exports);
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/v4/events/cloud-session-allocator/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qEAAmD;AACnD,yDAAuC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/v4/events/cloud-session-allocator/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qEAAmD;AACnD,yDAAuC;AACvC,2DAAyC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ludeo/cloud-common",
3
- "version": "1.2.281",
3
+ "version": "1.2.282",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "author": "Yahil Didi",
@@ -0,0 +1,54 @@
1
+ import { IsEnum, IsInt, IsOptional } from "class-validator";
2
+
3
+ import { ValidateNestedType } from "../../../decorators";
4
+ import { LudeoEvent } from "../../../infra";
5
+ import { CloudSessionContext } from "../../contexts";
6
+
7
+ // Why the request left the waiting queue.
8
+ export enum CloudSessionDequeuedReason {
9
+ Allocated = "allocated",
10
+ Timeout = "timeout",
11
+ Disconnected = "disconnected",
12
+ SessionEnded = "session_ended",
13
+ }
14
+
15
+ // Which path handed out a machine when reason is allocated. Omitted for leave reasons.
16
+ export enum CloudSessionDequeuedServedBy {
17
+ LudeoAvailable = "ludeo_available",
18
+ Interval = "interval",
19
+ }
20
+
21
+ // Emitted when a request leaves the waiting queues (allocated, timed out, disconnected, or session ended).
22
+ export class CloudSessionDequeuedPayload {
23
+ // Wall-clock ms spent waiting (dequeue time − enqueue ZADD score).
24
+ @IsInt()
25
+ waitedMs: number;
26
+
27
+ @IsEnum(CloudSessionDequeuedReason)
28
+ reason: CloudSessionDequeuedReason;
29
+
30
+ @IsOptional()
31
+ @IsEnum(CloudSessionDequeuedServedBy)
32
+ servedBy?: CloudSessionDequeuedServedBy;
33
+
34
+ // Last known peopleAhead rank when dequeued (if available).
35
+ @IsOptional()
36
+ @IsInt()
37
+ position?: number;
38
+ }
39
+
40
+ export class CloudSessionDequeued extends LudeoEvent {
41
+ static readonly EVENT_NAME = "cloud-session-allocator.cloud-session-dequeued";
42
+
43
+ constructor(payload: CloudSessionDequeuedPayload, context: CloudSessionContext) {
44
+ super(CloudSessionDequeued.EVENT_NAME);
45
+ this.payload = payload;
46
+ this.context = context;
47
+ }
48
+
49
+ @ValidateNestedType(() => CloudSessionDequeuedPayload)
50
+ payload: CloudSessionDequeuedPayload;
51
+
52
+ @ValidateNestedType(() => CloudSessionContext)
53
+ context: CloudSessionContext;
54
+ }
@@ -1,2 +1,3 @@
1
1
  export * from "./allocate-cloud-session-requested";
2
- export * from "./cloud-session-queued";
2
+ export * from "./cloud-session-queued";
3
+ export * from "./cloud-session-dequeued";