ZSTD on gateway
1 files changed, 5 insertions, 7 deletions
diff --git a/src/gateway/events/Connection.ts b/src/gateway/events/Connection.ts
index b187019e9..bc74dee65 100644
--- a/src/gateway/events/Connection.ts
+++ b/src/gateway/events/Connection.ts
@@ -28,7 +28,8 @@ import { Message } from "./Message";
import { Deflate, Inflate } from "fast-zlib";
import { URL } from "url";
import { Config, ErlpackType } from "@spacebar/util";
-// import zlib from "node:zlib";
+import zlib from "node:zlib";
+import { Decoder, Encoder } from "@toondepauw/node-zstd";
let erlpack: ErlpackType | null = null;
try {
@@ -108,7 +109,7 @@ export async function Connection(
return socket.close(CLOSECODES.Decode_error);
if (socket.encoding === "etf" && !erlpack)
- throw new Error("Erlpack is not installed: 'npm i erlpack'");
+ throw new Error("Erlpack is not installed: 'npm i @yukikaze-bot/erlpack'");
socket.version = Number(searchParams.get("version")) || 8;
if (socket.version != 8)
@@ -121,11 +122,8 @@ export async function Connection(
socket.deflate = new Deflate();
socket.inflate = new Inflate();
} else if (socket.compress === "zstd-stream") {
- // TODO
- return socket.close(
- CLOSECODES.Decode_error
- );
-
+ socket.zstdEncoder = new Encoder(6);
+ socket.zstdDecoder = new Decoder();
} else {
return socket.close(CLOSECODES.Decode_error);
}
|