From 19bb1c498452362453a001688011a2f5bbd36e8e Mon Sep 17 00:00:00 2001 From: Simon Chan <1330321+yume-chan@users.noreply.github.com> Date: Mon, 18 Dec 2023 19:09:45 +0800 Subject: [PATCH] refactor(scrcpy): simplify reverse connection --- libraries/adb-scrcpy/src/connection.ts | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/libraries/adb-scrcpy/src/connection.ts b/libraries/adb-scrcpy/src/connection.ts index e49cc3c90..4cd9b4f65 100644 --- a/libraries/adb-scrcpy/src/connection.ts +++ b/libraries/adb-scrcpy/src/connection.ts @@ -1,16 +1,17 @@ -import type { Adb } from "@yume-chan/adb"; +import type { Adb, AdbSocket } from "@yume-chan/adb"; import { AdbReverseNotSupportedError, NOOP } from "@yume-chan/adb"; import { delay } from "@yume-chan/async"; import type { Disposable } from "@yume-chan/event"; import type { Consumable, + PushReadableStreamController, ReadableStream, ReadableStreamDefaultReader, ReadableWritablePair, } from "@yume-chan/stream-extra"; import { BufferedReadableStream, - TransformStream, + PushReadableStream, } from "@yume-chan/stream-extra"; import type { ValueOrPromise } from "@yume-chan/struct"; @@ -156,16 +157,15 @@ export class AdbScrcpyReverseConnection extends AdbScrcpyConnection { // Ignore other errors when unbinding }); - const queue = new TransformStream< - ReadableWritablePair>, - ReadableWritablePair> - >(); - this.#streams = queue.readable.getReader(); - const writer = queue.writable.getWriter(); + let queueController: PushReadableStreamController; + const queue = new PushReadableStream((controller) => { + queueController = controller; + }); + this.#streams = queue.getReader(); this.#address = await this.adb.reverse.add( this.socketName, - (socket) => { - void writer.write(socket); + async (socket) => { + await queueController.enqueue(socket); }, ); }