@colyseus/uwebsockets-transport 0.15.0-preview.1 → 0.15.0

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.
@@ -1,98 +1,100 @@
1
- import EventEmitter from 'events';
2
- import { ClientState, debugMessage, getMessageBytes, Protocol, logger } from '@colyseus/core';
3
- import { Schema } from '@colyseus/schema';
4
-
1
+ import EventEmitter from "events";
2
+ import { getMessageBytes, Protocol, ClientState, logger, debugMessage } from "@colyseus/core";
3
+ import { Schema } from "@colyseus/schema";
5
4
  class uWebSocketWrapper extends EventEmitter {
6
- ws;
7
- constructor(ws) {
8
- super();
9
- this.ws = ws;
10
- }
5
+ constructor(ws) {
6
+ super();
7
+ this.ws = ws;
8
+ }
11
9
  }
12
- var ReadyState;
13
- (function (ReadyState) {
14
- ReadyState[ReadyState["CONNECTING"] = 0] = "CONNECTING";
15
- ReadyState[ReadyState["OPEN"] = 1] = "OPEN";
16
- ReadyState[ReadyState["CLOSING"] = 2] = "CLOSING";
17
- ReadyState[ReadyState["CLOSED"] = 3] = "CLOSED";
18
- })(ReadyState || (ReadyState = {}));
10
+ var ReadyState = /* @__PURE__ */ ((ReadyState2) => {
11
+ ReadyState2[ReadyState2["CONNECTING"] = 0] = "CONNECTING";
12
+ ReadyState2[ReadyState2["OPEN"] = 1] = "OPEN";
13
+ ReadyState2[ReadyState2["CLOSING"] = 2] = "CLOSING";
14
+ ReadyState2[ReadyState2["CLOSED"] = 3] = "CLOSED";
15
+ return ReadyState2;
16
+ })(ReadyState || {});
19
17
  class uWebSocketClient {
20
- id;
21
- ref;
22
- sessionId;
23
- state = ClientState.JOINING;
24
- readyState = ReadyState.OPEN;
25
- _enqueuedMessages = [];
26
- _afterNextPatchQueue;
27
- _reconnectionToken;
28
- constructor(id, ref) {
29
- this.id = id;
30
- this.ref = ref;
31
- this.sessionId = id;
32
- ref.on('close', () => this.readyState = ReadyState.CLOSED);
33
- }
34
- sendBytes(type, bytes, options) {
35
- debugMessage("send bytes(to %s): '%s' -> %j", this.sessionId, type, bytes);
36
- this.enqueueRaw(getMessageBytes.raw(Protocol.ROOM_DATA_BYTES, type, undefined, bytes), options);
37
- }
38
- send(messageOrType, messageOrOptions, options) {
39
- debugMessage("send(to %s): '%s' -> %O", this.sessionId, messageOrType, messageOrOptions);
40
- this.enqueueRaw((messageOrType instanceof Schema)
41
- ? getMessageBytes[Protocol.ROOM_DATA_SCHEMA](messageOrType)
42
- : getMessageBytes.raw(Protocol.ROOM_DATA, messageOrType, messageOrOptions), options);
43
- }
44
- enqueueRaw(data, options) {
45
- // use room's afterNextPatch queue
46
- if (options?.afterNextPatch) {
47
- this._afterNextPatchQueue.push([this, arguments]);
48
- return;
49
- }
50
- if (this.state === ClientState.JOINING) {
51
- // sending messages during `onJoin`.
52
- // - the client-side cannot register "onMessage" callbacks at this point.
53
- // - enqueue the messages to be send after JOIN_ROOM message has been sent
54
- this._enqueuedMessages.push(data);
55
- return;
56
- }
57
- this.raw(data, options);
18
+ constructor(id, _ref) {
19
+ this.id = id;
20
+ this._ref = _ref;
21
+ this.sessionId = id;
22
+ _ref.on("close", () => this.readyState = 3 /* CLOSED */);
23
+ }
24
+ sessionId;
25
+ state = ClientState.JOINING;
26
+ readyState = 1 /* OPEN */;
27
+ _enqueuedMessages = [];
28
+ _afterNextPatchQueue;
29
+ _reconnectionToken;
30
+ get ref() {
31
+ return this._ref;
32
+ }
33
+ set ref(_ref) {
34
+ this._ref = _ref;
35
+ this.readyState = 1 /* OPEN */;
36
+ }
37
+ sendBytes(type, bytes, options) {
38
+ debugMessage("send bytes(to %s): '%s' -> %j", this.sessionId, type, bytes);
39
+ this.enqueueRaw(
40
+ getMessageBytes.raw(Protocol.ROOM_DATA_BYTES, type, void 0, bytes),
41
+ options
42
+ );
43
+ }
44
+ send(messageOrType, messageOrOptions, options) {
45
+ debugMessage("send(to %s): '%s' -> %O", this.sessionId, messageOrType, messageOrOptions);
46
+ this.enqueueRaw(
47
+ messageOrType instanceof Schema ? getMessageBytes[Protocol.ROOM_DATA_SCHEMA](messageOrType) : getMessageBytes.raw(Protocol.ROOM_DATA, messageOrType, messageOrOptions),
48
+ options
49
+ );
50
+ }
51
+ enqueueRaw(data, options) {
52
+ if (options?.afterNextPatch) {
53
+ this._afterNextPatchQueue.push([this, arguments]);
54
+ return;
58
55
  }
59
- raw(data, options, cb) {
60
- if (this.readyState !== ReadyState.OPEN) {
61
- logger.warn('trying to send data to inactive client', this.sessionId);
62
- return;
63
- }
64
- this.ref.ws.send(new Uint8Array(data), true, false);
56
+ if (this.state === ClientState.JOINING) {
57
+ this._enqueuedMessages.push(data);
58
+ return;
65
59
  }
66
- error(code, message = '', cb) {
67
- this.raw(getMessageBytes[Protocol.ERROR](code, message), undefined, cb);
60
+ this.raw(data, options);
61
+ }
62
+ raw(data, options, cb) {
63
+ if (this.readyState !== 1 /* OPEN */) {
64
+ logger.warn("trying to send data to inactive client", this.sessionId);
65
+ return;
68
66
  }
69
- leave(code, data) {
70
- if (this.readyState !== ReadyState.OPEN) {
71
- // connection already closed. ignore.
72
- return;
73
- }
74
- this.readyState = ReadyState.CLOSING;
75
- if (code !== undefined) {
76
- this.ref.ws.end(code, data);
77
- }
78
- else {
79
- this.ref.ws.close();
80
- }
67
+ this._ref.ws.send(new Uint8Array(data), true, false);
68
+ }
69
+ error(code, message = "", cb) {
70
+ this.raw(getMessageBytes[Protocol.ERROR](code, message), void 0, cb);
71
+ }
72
+ leave(code, data) {
73
+ if (this.readyState !== 1 /* OPEN */) {
74
+ return;
81
75
  }
82
- close(code, data) {
83
- logger.warn('DEPRECATION WARNING: use client.leave() instead of client.close()');
84
- try {
85
- throw new Error();
86
- }
87
- catch (e) {
88
- logger.info(e.stack);
89
- }
90
- this.leave(code, data);
76
+ this.readyState = 2 /* CLOSING */;
77
+ if (code !== void 0) {
78
+ this._ref.ws.end(code, data);
79
+ } else {
80
+ this._ref.ws.close();
91
81
  }
92
- toJSON() {
93
- return { sessionId: this.sessionId, readyState: this.readyState };
82
+ }
83
+ close(code, data) {
84
+ logger.warn("DEPRECATION WARNING: use client.leave() instead of client.close()");
85
+ try {
86
+ throw new Error();
87
+ } catch (e) {
88
+ logger.info(e.stack);
94
89
  }
90
+ this.leave(code, data);
91
+ }
92
+ toJSON() {
93
+ return { sessionId: this.sessionId, readyState: this.readyState };
94
+ }
95
95
  }
96
-
97
- export { ReadyState, uWebSocketClient, uWebSocketWrapper };
98
- //# sourceMappingURL=uWebSocketClient.mjs.map
96
+ export {
97
+ ReadyState,
98
+ uWebSocketClient,
99
+ uWebSocketWrapper
100
+ };
@@ -1 +1,7 @@
1
- {"version":3,"file":"uWebSocketClient.mjs","sources":["../src/uWebSocketClient.ts"],"sourcesContent":["import EventEmitter from 'events';\nimport uWebSockets from 'uWebSockets.js';\n\nimport { getMessageBytes, Protocol, Client, ClientState, ISendOptions, logger, debugMessage } from '@colyseus/core';\nimport { Schema } from '@colyseus/schema';\n\nexport class uWebSocketWrapper extends EventEmitter {\n constructor(public ws: uWebSockets.WebSocket) {\n super();\n }\n}\n\nexport enum ReadyState {\n CONNECTING = 0,\n OPEN = 1,\n CLOSING = 2,\n CLOSED = 3,\n}\n\nexport class uWebSocketClient implements Client {\n public sessionId: string;\n public state: ClientState = ClientState.JOINING;\n public readyState: number = ReadyState.OPEN;\n public _enqueuedMessages: any[] = [];\n public _afterNextPatchQueue;\n public _reconnectionToken: string;\n\n constructor(\n public id: string,\n public ref: uWebSocketWrapper,\n ) {\n this.sessionId = id;\n\n ref.on('close', () => this.readyState = ReadyState.CLOSED);\n }\n\n public sendBytes(type: any, bytes?: any | ISendOptions, options?: ISendOptions) {\n debugMessage(\"send bytes(to %s): '%s' -> %j\", this.sessionId, type, bytes);\n\n this.enqueueRaw(\n getMessageBytes.raw(Protocol.ROOM_DATA_BYTES, type, undefined, bytes),\n options,\n );\n }\n\n public send(messageOrType: any, messageOrOptions?: any | ISendOptions, options?: ISendOptions) {\n debugMessage(\"send(to %s): '%s' -> %O\", this.sessionId, messageOrType, messageOrOptions);\n\n this.enqueueRaw(\n (messageOrType instanceof Schema)\n ? getMessageBytes[Protocol.ROOM_DATA_SCHEMA](messageOrType)\n : getMessageBytes.raw(Protocol.ROOM_DATA, messageOrType, messageOrOptions),\n options,\n );\n }\n\n public enqueueRaw(data: ArrayLike<number>, options?: ISendOptions) {\n // use room's afterNextPatch queue\n if (options?.afterNextPatch) {\n this._afterNextPatchQueue.push([this, arguments]);\n return;\n }\n\n if (this.state === ClientState.JOINING) {\n // sending messages during `onJoin`.\n // - the client-side cannot register \"onMessage\" callbacks at this point.\n // - enqueue the messages to be send after JOIN_ROOM message has been sent\n this._enqueuedMessages.push(data);\n return;\n }\n\n this.raw(data, options);\n }\n\n public raw(data: ArrayLike<number>, options?: ISendOptions, cb?: (err?: Error) => void) {\n if (this.readyState !== ReadyState.OPEN) {\n logger.warn('trying to send data to inactive client', this.sessionId);\n return;\n }\n\n this.ref.ws.send(new Uint8Array(data), true, false);\n }\n\n public error(code: number, message: string = '', cb?: (err?: Error) => void) {\n this.raw(getMessageBytes[Protocol.ERROR](code, message), undefined, cb);\n }\n\n public leave(code?: number, data?: string) {\n if (this.readyState !== ReadyState.OPEN) {\n // connection already closed. ignore.\n return;\n }\n\n this.readyState = ReadyState.CLOSING;\n\n if (code !== undefined) {\n this.ref.ws.end(code, data);\n\n } else {\n this.ref.ws.close();\n }\n }\n\n public close(code?: number, data?: string) {\n logger.warn('DEPRECATION WARNING: use client.leave() instead of client.close()');\n try {\n throw new Error();\n } catch (e) {\n logger.info(e.stack);\n }\n this.leave(code, data);\n }\n\n public toJSON() {\n return { sessionId: this.sessionId, readyState: this.readyState };\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/uWebSocketClient.ts"],
4
+ "sourcesContent": ["import EventEmitter from 'events';\nimport uWebSockets from 'uWebSockets.js';\n\nimport { getMessageBytes, Protocol, Client, ClientState, ISendOptions, logger, debugMessage } from '@colyseus/core';\nimport { Schema } from '@colyseus/schema';\n\nexport class uWebSocketWrapper extends EventEmitter {\n constructor(public ws: uWebSockets.WebSocket<any>) {\n super();\n }\n}\n\nexport enum ReadyState {\n CONNECTING = 0,\n OPEN = 1,\n CLOSING = 2,\n CLOSED = 3,\n}\n\nexport class uWebSocketClient implements Client {\n public sessionId: string;\n public state: ClientState = ClientState.JOINING;\n public readyState: number = ReadyState.OPEN;\n public _enqueuedMessages: any[] = [];\n public _afterNextPatchQueue;\n public _reconnectionToken: string;\n\n constructor(\n public id: string,\n public _ref: uWebSocketWrapper,\n ) {\n this.sessionId = id;\n\n _ref.on('close', () => this.readyState = ReadyState.CLOSED);\n }\n\n get ref() { return this._ref; }\n set ref(_ref: uWebSocketWrapper) {\n this._ref = _ref;\n this.readyState = ReadyState.OPEN;\n }\n\n public sendBytes(type: any, bytes?: any | ISendOptions, options?: ISendOptions) {\n debugMessage(\"send bytes(to %s): '%s' -> %j\", this.sessionId, type, bytes);\n\n this.enqueueRaw(\n getMessageBytes.raw(Protocol.ROOM_DATA_BYTES, type, undefined, bytes),\n options,\n );\n }\n\n public send(messageOrType: any, messageOrOptions?: any | ISendOptions, options?: ISendOptions) {\n debugMessage(\"send(to %s): '%s' -> %O\", this.sessionId, messageOrType, messageOrOptions);\n\n this.enqueueRaw(\n (messageOrType instanceof Schema)\n ? getMessageBytes[Protocol.ROOM_DATA_SCHEMA](messageOrType)\n : getMessageBytes.raw(Protocol.ROOM_DATA, messageOrType, messageOrOptions),\n options,\n );\n }\n\n public enqueueRaw(data: ArrayLike<number>, options?: ISendOptions) {\n // use room's afterNextPatch queue\n if (options?.afterNextPatch) {\n this._afterNextPatchQueue.push([this, arguments]);\n return;\n }\n\n if (this.state === ClientState.JOINING) {\n // sending messages during `onJoin`.\n // - the client-side cannot register \"onMessage\" callbacks at this point.\n // - enqueue the messages to be send after JOIN_ROOM message has been sent\n this._enqueuedMessages.push(data);\n return;\n }\n\n this.raw(data, options);\n }\n\n public raw(data: ArrayLike<number>, options?: ISendOptions, cb?: (err?: Error) => void) {\n if (this.readyState !== ReadyState.OPEN) {\n logger.warn('trying to send data to inactive client', this.sessionId);\n return;\n }\n\n this._ref.ws.send(new Uint8Array(data), true, false);\n }\n\n public error(code: number, message: string = '', cb?: (err?: Error) => void) {\n this.raw(getMessageBytes[Protocol.ERROR](code, message), undefined, cb);\n }\n\n public leave(code?: number, data?: string) {\n if (this.readyState !== ReadyState.OPEN) {\n // connection already closed. ignore.\n return;\n }\n\n this.readyState = ReadyState.CLOSING;\n\n if (code !== undefined) {\n this._ref.ws.end(code, data);\n\n } else {\n this._ref.ws.close();\n }\n }\n\n public close(code?: number, data?: string) {\n logger.warn('DEPRECATION WARNING: use client.leave() instead of client.close()');\n try {\n throw new Error();\n } catch (e) {\n logger.info(e.stack);\n }\n this.leave(code, data);\n }\n\n public toJSON() {\n return { sessionId: this.sessionId, readyState: this.readyState };\n }\n}\n"],
5
+ "mappings": "AAAA,OAAO,kBAAkB;AAGzB,SAAS,iBAAiB,UAAkB,aAA2B,QAAQ,oBAAoB;AACnG,SAAS,cAAc;AAEhB,MAAM,0BAA0B,aAAa;AAAA,EAClD,YAAmB,IAAgC;AACjD,UAAM;AADW;AAAA,EAEnB;AACF;AAEO,IAAK,aAAL,kBAAKA,gBAAL;AACL,EAAAA,wBAAA,gBAAa,KAAb;AACA,EAAAA,wBAAA,UAAO,KAAP;AACA,EAAAA,wBAAA,aAAU,KAAV;AACA,EAAAA,wBAAA,YAAS,KAAT;AAJU,SAAAA;AAAA,GAAA;AAOL,MAAM,iBAAmC;AAAA,EAQ9C,YACS,IACA,MACP;AAFO;AACA;AAEP,SAAK,YAAY;AAEjB,SAAK,GAAG,SAAS,MAAM,KAAK,aAAa,cAAiB;AAAA,EAC5D;AAAA,EAdO;AAAA,EACA,QAAqB,YAAY;AAAA,EACjC,aAAqB;AAAA,EACrB,oBAA2B,CAAC;AAAA,EAC5B;AAAA,EACA;AAAA,EAWP,IAAI,MAAM;AAAE,WAAO,KAAK;AAAA,EAAM;AAAA,EAC9B,IAAI,IAAI,MAAyB;AAC/B,SAAK,OAAO;AACZ,SAAK,aAAa;AAAA,EACpB;AAAA,EAEO,UAAU,MAAW,OAA4B,SAAwB;AAC9E,iBAAa,iCAAiC,KAAK,WAAW,MAAM,KAAK;AAEzE,SAAK;AAAA,MACH,gBAAgB,IAAI,SAAS,iBAAiB,MAAM,QAAW,KAAK;AAAA,MACpE;AAAA,IACF;AAAA,EACF;AAAA,EAEO,KAAK,eAAoB,kBAAuC,SAAwB;AAC7F,iBAAa,2BAA2B,KAAK,WAAW,eAAe,gBAAgB;AAEvF,SAAK;AAAA,MACF,yBAAyB,SACtB,gBAAgB,SAAS,kBAAkB,aAAa,IACxD,gBAAgB,IAAI,SAAS,WAAW,eAAe,gBAAgB;AAAA,MAC3E;AAAA,IACF;AAAA,EACF;AAAA,EAEO,WAAW,MAAyB,SAAwB;AAEjE,QAAI,SAAS,gBAAgB;AAC3B,WAAK,qBAAqB,KAAK,CAAC,MAAM,SAAS,CAAC;AAChD;AAAA,IACF;AAEA,QAAI,KAAK,UAAU,YAAY,SAAS;AAItC,WAAK,kBAAkB,KAAK,IAAI;AAChC;AAAA,IACF;AAEA,SAAK,IAAI,MAAM,OAAO;AAAA,EACxB;AAAA,EAEO,IAAI,MAAyB,SAAwB,IAA4B;AACtF,QAAI,KAAK,eAAe,cAAiB;AACvC,aAAO,KAAK,0CAA0C,KAAK,SAAS;AACpE;AAAA,IACF;AAEA,SAAK,KAAK,GAAG,KAAK,IAAI,WAAW,IAAI,GAAG,MAAM,KAAK;AAAA,EACrD;AAAA,EAEO,MAAM,MAAc,UAAkB,IAAI,IAA4B;AAC3E,SAAK,IAAI,gBAAgB,SAAS,OAAO,MAAM,OAAO,GAAG,QAAW,EAAE;AAAA,EACxE;AAAA,EAEO,MAAM,MAAe,MAAe;AACzC,QAAI,KAAK,eAAe,cAAiB;AAEvC;AAAA,IACF;AAEA,SAAK,aAAa;AAElB,QAAI,SAAS,QAAW;AACtB,WAAK,KAAK,GAAG,IAAI,MAAM,IAAI;AAAA,IAE7B,OAAO;AACL,WAAK,KAAK,GAAG,MAAM;AAAA,IACrB;AAAA,EACF;AAAA,EAEO,MAAM,MAAe,MAAe;AACzC,WAAO,KAAK,mEAAmE;AAC/E,QAAI;AACF,YAAM,IAAI,MAAM;AAAA,IAClB,SAAS,GAAP;AACA,aAAO,KAAK,EAAE,KAAK;AAAA,IACrB;AACA,SAAK,MAAM,MAAM,IAAI;AAAA,EACvB;AAAA,EAEO,SAAS;AACd,WAAO,EAAE,WAAW,KAAK,WAAW,YAAY,KAAK,WAAW;AAAA,EAClE;AACF;",
6
+ "names": ["ReadyState"]
7
+ }
@@ -1,8 +1,10 @@
1
1
  import uWebSockets from 'uWebSockets.js';
2
2
  import { Transport } from '@colyseus/core';
3
3
  import { uWebSocketWrapper } from './uWebSocketClient';
4
- export declare type TransportOptions = Omit<uWebSockets.WebSocketBehavior, "upgrade" | "open" | "pong" | "close" | "message">;
5
- declare type RawWebSocketClient = uWebSockets.WebSocket & {
4
+ export type TransportOptions = Omit<uWebSockets.WebSocketBehavior<any>, "upgrade" | "open" | "pong" | "close" | "message">;
5
+ type RawWebSocketClient = uWebSockets.WebSocket<any> & {
6
+ url: string;
7
+ query: string;
6
8
  headers: {
7
9
  [key: string]: string;
8
10
  };