@multitapio/multitap 0.0.3 → 0.0.4

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.
package/dist/channel.d.ts CHANGED
@@ -84,7 +84,6 @@ export declare class Channel implements AsyncTickLog {
84
84
  private _nextChannel;
85
85
  private _connectLoop;
86
86
  private _waitForIceGathering;
87
- private _listenForAnswer;
88
87
  private _handleDataChannel;
89
88
  private _handleMessage;
90
89
  private _dropChannel;
@@ -1 +1 @@
1
- {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/channel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/channel.ts"],"names":[],"mappings":"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"}
@@ -4169,9 +4169,6 @@ var Channel = class {
4169
4169
  throw new Error("Failed to get local description");
4170
4170
  }
4171
4171
  const pubKeyHex = bytesToHex2(this.publicKey);
4172
- const sseURL = `${base}/rtc/events?session=${sessionParam}&pubkey=${pubKeyHex}`;
4173
- const sseController = new AbortController();
4174
- const ssePromise = this._listenForAnswer(sseURL, sseController.signal);
4175
4172
  const offerURL = `${base}/rtc/offer?session=${sessionParam}&from=${pubKeyHex}&to=relay`;
4176
4173
  const offerResponse = await fetch(offerURL, {
4177
4174
  method: "POST",
@@ -4182,17 +4179,12 @@ var Channel = class {
4182
4179
  })
4183
4180
  });
4184
4181
  if (!offerResponse.ok) {
4185
- sseController.abort();
4186
4182
  throw new Error(`Offer rejected: ${offerResponse.status}`);
4187
4183
  }
4188
- const timeoutPromise = new Promise((_, reject) => {
4189
- setTimeout(() => reject(new Error("SSE timeout")), this.connectionTimeoutMs);
4190
- });
4191
- const answerSDP = await Promise.race([ssePromise, timeoutPromise]);
4192
- sseController.abort();
4184
+ const answerData = await offerResponse.json();
4193
4185
  await pc.setRemoteDescription({
4194
4186
  type: "answer",
4195
- sdp: answerSDP
4187
+ sdp: answerData.sdp
4196
4188
  });
4197
4189
  this.dataChannels = [];
4198
4190
  this.replayChannels.clear();
@@ -4249,52 +4241,6 @@ var Channel = class {
4249
4241
  }, 5e3);
4250
4242
  });
4251
4243
  }
4252
- // Listen for answer from SSE
4253
- async _listenForAnswer(url, signal) {
4254
- const response = await fetch(url, {
4255
- headers: { Accept: "text/event-stream", "Cache-Control": "no-cache" },
4256
- signal
4257
- });
4258
- if (!response.ok) {
4259
- throw new Error(`SSE connection failed: ${response.status}`);
4260
- }
4261
- const reader = response.body?.getReader();
4262
- if (!reader) {
4263
- throw new Error("SSE response has no body");
4264
- }
4265
- const decoder = new TextDecoder();
4266
- let buffer2 = "";
4267
- let eventType = "";
4268
- let eventData = "";
4269
- try {
4270
- while (true) {
4271
- const { value, done } = await reader.read();
4272
- if (done) break;
4273
- buffer2 += decoder.decode(value, { stream: true });
4274
- const lines = buffer2.split("\n");
4275
- buffer2 = lines.pop() ?? "";
4276
- for (const line of lines) {
4277
- if (line.startsWith("event:")) {
4278
- eventType = line.slice(6).trim();
4279
- } else if (line.startsWith("data:")) {
4280
- eventData = line.slice(5).trim();
4281
- } else if (line === "" && eventData) {
4282
- if (eventType === "answer") {
4283
- const answerMsg = JSON.parse(eventData);
4284
- if (answerMsg.from === "relay" && answerMsg.sdp) {
4285
- return answerMsg.sdp;
4286
- }
4287
- }
4288
- eventType = "";
4289
- eventData = "";
4290
- }
4291
- }
4292
- }
4293
- } finally {
4294
- reader.releaseLock();
4295
- }
4296
- throw new Error("SSE stream closed without receiving answer");
4297
- }
4298
4244
  _handleDataChannel(dc, generation, onFirstOpen) {
4299
4245
  const handle = {
4300
4246
  dc,
package/dist/lib.js CHANGED
@@ -4306,9 +4306,6 @@ var Channel = class {
4306
4306
  throw new Error("Failed to get local description");
4307
4307
  }
4308
4308
  const pubKeyHex = bytesToHex2(this.publicKey);
4309
- const sseURL = `${base}/rtc/events?session=${sessionParam}&pubkey=${pubKeyHex}`;
4310
- const sseController = new AbortController();
4311
- const ssePromise = this._listenForAnswer(sseURL, sseController.signal);
4312
4309
  const offerURL = `${base}/rtc/offer?session=${sessionParam}&from=${pubKeyHex}&to=relay`;
4313
4310
  const offerResponse = await fetch(offerURL, {
4314
4311
  method: "POST",
@@ -4319,17 +4316,12 @@ var Channel = class {
4319
4316
  })
4320
4317
  });
4321
4318
  if (!offerResponse.ok) {
4322
- sseController.abort();
4323
4319
  throw new Error(`Offer rejected: ${offerResponse.status}`);
4324
4320
  }
4325
- const timeoutPromise = new Promise((_, reject) => {
4326
- setTimeout(() => reject(new Error("SSE timeout")), this.connectionTimeoutMs);
4327
- });
4328
- const answerSDP = await Promise.race([ssePromise, timeoutPromise]);
4329
- sseController.abort();
4321
+ const answerData = await offerResponse.json();
4330
4322
  await pc.setRemoteDescription({
4331
4323
  type: "answer",
4332
- sdp: answerSDP
4324
+ sdp: answerData.sdp
4333
4325
  });
4334
4326
  this.dataChannels = [];
4335
4327
  this.replayChannels.clear();
@@ -4386,52 +4378,6 @@ var Channel = class {
4386
4378
  }, 5e3);
4387
4379
  });
4388
4380
  }
4389
- // Listen for answer from SSE
4390
- async _listenForAnswer(url, signal) {
4391
- const response = await fetch(url, {
4392
- headers: { Accept: "text/event-stream", "Cache-Control": "no-cache" },
4393
- signal
4394
- });
4395
- if (!response.ok) {
4396
- throw new Error(`SSE connection failed: ${response.status}`);
4397
- }
4398
- const reader = response.body?.getReader();
4399
- if (!reader) {
4400
- throw new Error("SSE response has no body");
4401
- }
4402
- const decoder = new TextDecoder();
4403
- let buffer2 = "";
4404
- let eventType = "";
4405
- let eventData = "";
4406
- try {
4407
- while (true) {
4408
- const { value, done } = await reader.read();
4409
- if (done) break;
4410
- buffer2 += decoder.decode(value, { stream: true });
4411
- const lines = buffer2.split("\n");
4412
- buffer2 = lines.pop() ?? "";
4413
- for (const line of lines) {
4414
- if (line.startsWith("event:")) {
4415
- eventType = line.slice(6).trim();
4416
- } else if (line.startsWith("data:")) {
4417
- eventData = line.slice(5).trim();
4418
- } else if (line === "" && eventData) {
4419
- if (eventType === "answer") {
4420
- const answerMsg = JSON.parse(eventData);
4421
- if (answerMsg.from === "relay" && answerMsg.sdp) {
4422
- return answerMsg.sdp;
4423
- }
4424
- }
4425
- eventType = "";
4426
- eventData = "";
4427
- }
4428
- }
4429
- }
4430
- } finally {
4431
- reader.releaseLock();
4432
- }
4433
- throw new Error("SSE stream closed without receiving answer");
4434
- }
4435
4381
  _handleDataChannel(dc, generation, onFirstOpen) {
4436
4382
  const handle = {
4437
4383
  dc,
@@ -84,7 +84,6 @@ export declare class Channel implements AsyncTickLog {
84
84
  private _nextChannel;
85
85
  private _connectLoop;
86
86
  private _waitForIceGathering;
87
- private _listenForAnswer;
88
87
  private _handleDataChannel;
89
88
  private _handleMessage;
90
89
  private _dropChannel;
@@ -1 +1 @@
1
- {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/channel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/channel.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@multitapio/multitap",
3
3
  "type": "module",
4
- "version": "0.0.3",
4
+ "version": "0.0.4",
5
5
  "description": "Rollback networking SDK for fast-paced multiplayer games",
6
6
  "main": "./dist/lib.js",
7
7
  "types": "./dist/lib.d.ts",
@@ -1,3 +0,0 @@
1
- declare const _default: new () => Worker;
2
- export default _default;
3
- //# sourceMappingURL=channel.worker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"channel.worker.d.ts","sourceRoot":"","sources":["../../src/channel.worker.ts"],"names":[],"mappings":"wBAMkC,UAAU,MAAM;AAAlD,wBAAmD"}
@@ -1,3 +0,0 @@
1
- declare const _default: new () => Worker;
2
- export default _default;
3
- //# sourceMappingURL=channel.worker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"channel.worker.d.ts","sourceRoot":"","sources":["../../src/channel.worker.ts"],"names":[],"mappings":"wBAMkC,UAAU,MAAM;AAAlD,wBAAmD"}
@@ -1,79 +0,0 @@
1
- import type { InputData, TickMessage } from './messages';
2
- import { InputGraph, type AsyncTickLog, type GetTicksAfterOptions, type Participant, type PayloadPredictor, type TickNode, type TickPrimitive } from './input-graph';
3
- export type StateListener = (connected: boolean) => void;
4
- export type UnsubscribeFn = () => void;
5
- export interface WebRTCChannelConfig {
6
- /** multitap:// connection URL (will be base64-encoded for transport) */
7
- connectionURL: string;
8
- privateKey?: Uint8Array;
9
- relayPubKey?: Uint8Array | undefined | null;
10
- inputPayloadPredictor?: PayloadPredictor | null;
11
- debug?: boolean | undefined;
12
- autoConnect?: boolean | undefined;
13
- connectionTimeoutMs?: number | undefined;
14
- logSyncTicks?: boolean | undefined;
15
- }
16
- export declare class WebRTCChannel implements AsyncTickLog {
17
- readonly connectionURL: string;
18
- readonly connectionTimeoutMs: number;
19
- private privateKey;
20
- private publicKey;
21
- private genesisHash;
22
- private sessionConfig;
23
- private pc;
24
- private dataChannels;
25
- private replayChannels;
26
- private roundRobinIndex;
27
- private connectionGeneration;
28
- private connected;
29
- private stopped;
30
- private debug;
31
- private logSyncTicks;
32
- private outbox;
33
- private stateListeners;
34
- private flushingOutbox;
35
- private tickRate;
36
- inputGraph: InputGraph;
37
- private tickDeadlineWants;
38
- private tickDeadlineTimer;
39
- private tickDeadlineGrace;
40
- private stats;
41
- constructor(config: WebRTCChannelConfig);
42
- connect(): Promise<void>;
43
- getPublicKey(): Promise<Uint8Array<ArrayBufferLike>>;
44
- getGenesisHash(): Promise<Uint8Array<ArrayBufferLike>>;
45
- onStateChange(fn: StateListener): UnsubscribeFn;
46
- getStats(): {
47
- activeChannels: number;
48
- totalChannels: number;
49
- messagesRecv: number;
50
- messagesSent: number;
51
- reconnections: number;
52
- };
53
- getTickRate(): Promise<number>;
54
- getParticipantSlots(tick: number): Promise<Participant[]>;
55
- getSyncHead(): Promise<TickNode>;
56
- getPredictedHead(): Promise<TickNode>;
57
- addSyncTick(msg: TickMessage): Promise<void>;
58
- addOptimisticInput(input: InputData, preVerifiedSigner?: Uint8Array): Promise<void>;
59
- getPredictionCount(): Promise<number>;
60
- getTicksAfter(nodeId: string | null, options?: GetTicksAfterOptions): Promise<TickPrimitive[]>;
61
- setOnParticipantJoined(fn: (participant: Participant) => void): Promise<void>;
62
- expose(port: MessagePort): Promise<void>;
63
- close(): Promise<void>;
64
- private _setConnected;
65
- private _generateNullInput;
66
- private _send;
67
- sendSignedInput(payload: Uint8Array, targetTick?: number): Promise<Uint8Array>;
68
- private _nextChannel;
69
- private _connectLoop;
70
- private _addDataChannel;
71
- private _removeChannel;
72
- private _handleMessage;
73
- private _maybeResetDeadline;
74
- private _resetDeadline;
75
- private _onTickDeadlineExceeded;
76
- private _flushOutbox;
77
- private _cleanupConnection;
78
- }
79
- //# sourceMappingURL=webrtc-channel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webrtc-channel.d.ts","sourceRoot":"","sources":["../../src/webrtc-channel.ts"],"names":[],"mappings":"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"}
@@ -1,79 +0,0 @@
1
- import type { InputData, TickMessage } from './messages';
2
- import { InputGraph, type AsyncTickLog, type GetTicksAfterOptions, type Participant, type PayloadPredictor, type TickNode, type TickPrimitive } from './input-graph';
3
- export type StateListener = (connected: boolean) => void;
4
- export type UnsubscribeFn = () => void;
5
- export interface WebRTCChannelConfig {
6
- /** multitap:// connection URL (will be base64-encoded for transport) */
7
- connectionURL: string;
8
- privateKey?: Uint8Array;
9
- relayPubKey?: Uint8Array | undefined | null;
10
- inputPayloadPredictor?: PayloadPredictor | null;
11
- debug?: boolean | undefined;
12
- autoConnect?: boolean | undefined;
13
- connectionTimeoutMs?: number | undefined;
14
- logSyncTicks?: boolean | undefined;
15
- }
16
- export declare class WebRTCChannel implements AsyncTickLog {
17
- readonly connectionURL: string;
18
- readonly connectionTimeoutMs: number;
19
- private privateKey;
20
- private publicKey;
21
- private genesisHash;
22
- private sessionConfig;
23
- private pc;
24
- private dataChannels;
25
- private replayChannels;
26
- private roundRobinIndex;
27
- private connectionGeneration;
28
- private connected;
29
- private stopped;
30
- private debug;
31
- private logSyncTicks;
32
- private outbox;
33
- private stateListeners;
34
- private flushingOutbox;
35
- private tickRate;
36
- inputGraph: InputGraph;
37
- private tickDeadlineWants;
38
- private tickDeadlineTimer;
39
- private tickDeadlineGrace;
40
- private stats;
41
- constructor(config: WebRTCChannelConfig);
42
- connect(): Promise<void>;
43
- getPublicKey(): Promise<Uint8Array<ArrayBufferLike>>;
44
- getGenesisHash(): Promise<Uint8Array<ArrayBufferLike>>;
45
- onStateChange(fn: StateListener): UnsubscribeFn;
46
- getStats(): {
47
- activeChannels: number;
48
- totalChannels: number;
49
- messagesRecv: number;
50
- messagesSent: number;
51
- reconnections: number;
52
- };
53
- getTickRate(): Promise<number>;
54
- getParticipantSlots(tick: number): Promise<Participant[]>;
55
- getSyncHead(): Promise<TickNode>;
56
- getPredictedHead(): Promise<TickNode>;
57
- addSyncTick(msg: TickMessage): Promise<void>;
58
- addOptimisticInput(input: InputData, preVerifiedSigner?: Uint8Array): Promise<void>;
59
- getPredictionCount(): Promise<number>;
60
- getTicksAfter(nodeId: string | null, options?: GetTicksAfterOptions): Promise<TickPrimitive[]>;
61
- setOnParticipantJoined(fn: (participant: Participant) => void): Promise<void>;
62
- expose(port: MessagePort): Promise<void>;
63
- close(): Promise<void>;
64
- private _setConnected;
65
- private _generateNullInput;
66
- private _send;
67
- sendSignedInput(payload: Uint8Array, targetTick?: number): Promise<Uint8Array>;
68
- private _nextChannel;
69
- private _connectLoop;
70
- private _addDataChannel;
71
- private _removeChannel;
72
- private _handleMessage;
73
- private _maybeResetDeadline;
74
- private _resetDeadline;
75
- private _onTickDeadlineExceeded;
76
- private _flushOutbox;
77
- private _cleanupConnection;
78
- }
79
- //# sourceMappingURL=webrtc-channel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webrtc-channel.d.ts","sourceRoot":"","sources":["../../src/webrtc-channel.ts"],"names":[],"mappings":"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"}