Skip to content

Commit 8c31e82

Browse files
committed
wip
1 parent 6d596dd commit 8c31e82

2 files changed

Lines changed: 9 additions & 43 deletions

File tree

src/matches/match-relay/match-relay.service.ts

Lines changed: 9 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -2,48 +2,18 @@ import zlib from "zlib";
22
import { promisify } from "util";
33
import { Request, Response } from "express";
44
import { Injectable, Logger } from "@nestjs/common";
5-
6-
type StartFieldData = {
7-
data?: Buffer;
8-
gipped?: boolean;
9-
signup_fragment?: number;
10-
tick?: number;
11-
tps?: number;
12-
map?: string;
13-
keyframe_interval?: number;
14-
protocol?: number;
15-
[key: string]: any;
16-
};
17-
18-
type FullFieldData = {
19-
data?: Buffer;
20-
gipped?: boolean;
21-
tick?: number;
22-
[key: string]: any;
23-
};
24-
25-
type DeltaFieldData = {
26-
data?: Buffer;
27-
gipped?: boolean;
28-
timestamp?: number;
29-
endtick?: number;
30-
[key: string]: any;
31-
};
32-
33-
type Fragment = {
34-
start?: StartFieldData;
35-
full?: FullFieldData;
36-
delta?: DeltaFieldData;
37-
[key: string]: any;
38-
};
39-
40-
type Broadcast = Fragment[];
5+
import {
6+
Fragment,
7+
StartFieldData,
8+
FullFieldData,
9+
DeltaFieldData,
10+
} from "./types/fragment.types";
4111

4212
@Injectable()
4313
export class MatchRelayService {
4414
private readonly gzip = promisify(zlib.gzip);
4515

46-
private readonly broadcasts: { [key: string]: Broadcast } = {};
16+
private readonly broadcasts: { [key: string]: Fragment[] } = {};
4717

4818
constructor(private readonly logger: Logger) {}
4919

@@ -246,9 +216,7 @@ export class MatchRelayService {
246216
broadcast[fragmentIndex][field].data = compressedBlob;
247217
})
248218
.catch((error: Error) => {
249-
this.logger.error(
250-
`cannot gzip: ${error}`,
251-
);
219+
this.logger.error(`cannot gzip: ${error}`);
252220
broadcast[fragmentIndex][field].gipped = false;
253221
broadcast[fragmentIndex][field].data = totalBuffer;
254222
})
@@ -280,8 +248,7 @@ export class MatchRelayService {
280248
);
281249
}
282250

283-
private getMatchBroadcastEndTick(broadcast: Broadcast): number {
284-
// Only delta fields have endtick, full fields don't
251+
private getMatchBroadcastEndTick(broadcast: Fragment[]): number {
285252
for (let i = broadcast.length - 1; i >= 0; i--) {
286253
const fragment = broadcast[i];
287254
if (fragment?.delta?.endtick != null) {

src/matches/match-relay/types/fragment.types.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,3 @@ export type Fragment = {
3333
};
3434

3535
export type Broadcast = Fragment[];
36-

0 commit comments

Comments
 (0)