@yume-chan/adb 0.0.16 → 0.0.18
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/CHANGELOG.json +18 -0
- package/CHANGELOG.md +13 -1
- package/LICENSE +1 -1
- package/esm/adb.d.ts +13 -8
- package/esm/adb.d.ts.map +1 -1
- package/esm/adb.js +63 -38
- package/esm/adb.js.map +1 -1
- package/esm/auth.d.ts +4 -4
- package/esm/auth.d.ts.map +1 -1
- package/esm/auth.js +6 -6
- package/esm/auth.js.map +1 -1
- package/esm/backend.d.ts +3 -3
- package/esm/backend.d.ts.map +1 -1
- package/esm/commands/base.d.ts +2 -2
- package/esm/commands/base.d.ts.map +1 -1
- package/esm/commands/base.js +1 -1
- package/esm/commands/base.js.map +1 -1
- package/esm/commands/framebuffer.d.ts +22 -6
- package/esm/commands/framebuffer.d.ts.map +1 -1
- package/esm/commands/framebuffer.js +33 -45
- package/esm/commands/framebuffer.js.map +1 -1
- package/esm/commands/install.d.ts +2 -2
- package/esm/commands/install.d.ts.map +1 -1
- package/esm/commands/install.js +12 -5
- package/esm/commands/install.js.map +1 -1
- package/esm/commands/power.d.ts.map +1 -1
- package/esm/commands/power.js +13 -9
- package/esm/commands/power.js.map +1 -1
- package/esm/commands/reverse.d.ts +5 -5
- package/esm/commands/reverse.d.ts.map +1 -1
- package/esm/commands/reverse.js +20 -18
- package/esm/commands/reverse.js.map +1 -1
- package/esm/commands/subprocess/command.d.ts +52 -0
- package/esm/commands/subprocess/command.d.ts.map +1 -0
- package/esm/commands/subprocess/command.js +81 -0
- package/esm/commands/subprocess/command.js.map +1 -0
- package/esm/commands/subprocess/index.d.ts +1 -53
- package/esm/commands/subprocess/index.d.ts.map +1 -1
- package/esm/commands/subprocess/index.js +1 -85
- package/esm/commands/subprocess/index.js.map +1 -1
- package/esm/commands/subprocess/protocols/none.d.ts +5 -5
- package/esm/commands/subprocess/protocols/none.d.ts.map +1 -1
- package/esm/commands/subprocess/protocols/none.js +5 -3
- package/esm/commands/subprocess/protocols/none.js.map +1 -1
- package/esm/commands/subprocess/protocols/shell.d.ts +4 -4
- package/esm/commands/subprocess/protocols/shell.d.ts.map +1 -1
- package/esm/commands/subprocess/protocols/shell.js +28 -20
- package/esm/commands/subprocess/protocols/shell.js.map +1 -1
- package/esm/commands/subprocess/protocols/types.d.ts +7 -7
- package/esm/commands/subprocess/protocols/types.d.ts.map +1 -1
- package/esm/commands/sync/index.d.ts +1 -1
- package/esm/commands/sync/index.d.ts.map +1 -1
- package/esm/commands/sync/index.js +1 -1
- package/esm/commands/sync/index.js.map +1 -1
- package/esm/commands/sync/list.d.ts +7 -7
- package/esm/commands/sync/list.d.ts.map +1 -1
- package/esm/commands/sync/list.js +34 -50
- package/esm/commands/sync/list.js.map +1 -1
- package/esm/commands/sync/pull.d.ts +5 -4
- package/esm/commands/sync/pull.d.ts.map +1 -1
- package/esm/commands/sync/pull.js +21 -22
- package/esm/commands/sync/pull.js.map +1 -1
- package/esm/commands/sync/push.d.ts +4 -4
- package/esm/commands/sync/push.d.ts.map +1 -1
- package/esm/commands/sync/push.js +7 -11
- package/esm/commands/sync/push.js.map +1 -1
- package/esm/commands/sync/request.d.ts +4 -4
- package/esm/commands/sync/request.d.ts.map +1 -1
- package/esm/commands/sync/request.js +6 -6
- package/esm/commands/sync/request.js.map +1 -1
- package/esm/commands/sync/response.d.ts +5 -10
- package/esm/commands/sync/response.d.ts.map +1 -1
- package/esm/commands/sync/response.js +35 -26
- package/esm/commands/sync/response.js.map +1 -1
- package/esm/commands/sync/stat.d.ts +7 -7
- package/esm/commands/sync/stat.d.ts.map +1 -1
- package/esm/commands/sync/stat.js +48 -55
- package/esm/commands/sync/stat.js.map +1 -1
- package/esm/commands/sync/sync.d.ts +7 -7
- package/esm/commands/sync/sync.d.ts.map +1 -1
- package/esm/commands/sync/sync.js +25 -22
- package/esm/commands/sync/sync.js.map +1 -1
- package/esm/crypto.d.ts.map +1 -1
- package/esm/crypto.js +26 -16
- package/esm/crypto.js.map +1 -1
- package/esm/index.d.ts +9 -10
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +9 -10
- package/esm/index.js.map +1 -1
- package/esm/packet.d.ts +8 -8
- package/esm/packet.d.ts.map +1 -1
- package/esm/packet.js +14 -12
- package/esm/packet.js.map +1 -1
- package/esm/socket/dispatcher.d.ts +11 -6
- package/esm/socket/dispatcher.d.ts.map +1 -1
- package/esm/socket/dispatcher.js +28 -20
- package/esm/socket/dispatcher.js.map +1 -1
- package/esm/socket/index.d.ts +1 -1
- package/esm/socket/index.d.ts.map +1 -1
- package/esm/socket/index.js +1 -1
- package/esm/socket/index.js.map +1 -1
- package/esm/socket/socket.d.ts +5 -5
- package/esm/socket/socket.d.ts.map +1 -1
- package/esm/socket/socket.js +37 -17
- package/esm/socket/socket.js.map +1 -1
- package/esm/utils/auto-reset-event.d.ts +1 -1
- package/esm/utils/auto-reset-event.d.ts.map +1 -1
- package/esm/utils/auto-reset-event.js +2 -2
- package/esm/utils/base64.d.ts +23 -0
- package/esm/utils/base64.d.ts.map +1 -1
- package/esm/utils/base64.js +36 -29
- package/esm/utils/base64.js.map +1 -1
- package/package.json +19 -17
- package/src/adb.ts +140 -86
- package/src/auth.ts +27 -18
- package/src/backend.ts +7 -4
- package/src/commands/base.ts +3 -2
- package/src/commands/framebuffer.ts +48 -47
- package/src/commands/install.ts +20 -10
- package/src/commands/power.ts +14 -10
- package/src/commands/reverse.ts +53 -33
- package/src/commands/subprocess/command.ts +134 -0
- package/src/commands/subprocess/index.ts +1 -137
- package/src/commands/subprocess/protocols/none.ts +10 -6
- package/src/commands/subprocess/protocols/shell.ts +72 -39
- package/src/commands/subprocess/protocols/types.ts +12 -8
- package/src/commands/sync/index.ts +1 -1
- package/src/commands/sync/list.ts +63 -68
- package/src/commands/sync/pull.ts +53 -37
- package/src/commands/sync/push.ts +26 -15
- package/src/commands/sync/request.ts +20 -21
- package/src/commands/sync/response.ts +63 -53
- package/src/commands/sync/stat.ts +91 -90
- package/src/commands/sync/sync.ts +56 -34
- package/src/crypto.ts +61 -33
- package/src/features.ts +1 -1
- package/src/index.ts +9 -11
- package/src/packet.ts +40 -30
- package/src/socket/dispatcher.ts +119 -77
- package/src/socket/index.ts +1 -1
- package/src/socket/socket.ts +68 -26
- package/src/utils/auto-reset-event.ts +3 -3
- package/src/utils/base64.ts +75 -42
- package/tsconfig.build.json +1 -1
- package/tsconfig.build.tsbuildinfo +1 -1
- package/esm/stream/buffered.d.ts +0 -39
- package/esm/stream/buffered.d.ts.map +0 -1
- package/esm/stream/buffered.js +0 -143
- package/esm/stream/buffered.js.map +0 -1
- package/esm/stream/detect.d.ts +0 -2
- package/esm/stream/detect.d.ts.map +0 -1
- package/esm/stream/detect.js +0 -6
- package/esm/stream/detect.js.map +0 -1
- package/esm/stream/detect.native.d.ts +0 -240
- package/esm/stream/detect.native.d.ts.map +0 -1
- package/esm/stream/detect.native.js +0 -60
- package/esm/stream/detect.native.js.map +0 -1
- package/esm/stream/detect.polyfill.d.ts +0 -18
- package/esm/stream/detect.polyfill.d.ts.map +0 -1
- package/esm/stream/detect.polyfill.js +0 -4
- package/esm/stream/detect.polyfill.js.map +0 -1
- package/esm/stream/index.d.ts +0 -4
- package/esm/stream/index.d.ts.map +0 -1
- package/esm/stream/index.js +0 -4
- package/esm/stream/index.js.map +0 -1
- package/esm/stream/transform.d.ts +0 -124
- package/esm/stream/transform.d.ts.map +0 -1
- package/esm/stream/transform.js +0 -379
- package/esm/stream/transform.js.map +0 -1
- package/src/stream/buffered.ts +0 -168
- package/src/stream/detect.native.ts +0 -362
- package/src/stream/detect.polyfill.ts +0 -22
- package/src/stream/detect.ts +0 -7
- package/src/stream/index.ts +0 -3
- package/src/stream/transform.ts +0 -474
- package/tsconfig.test.json +0 -9
- package/web-streams-polyfill-4.0.0-beta.2.tgz +0 -0
package/esm/crypto.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"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"}
|
package/esm/index.d.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
5
|
-
export * from
|
|
6
|
-
export * from
|
|
7
|
-
export * from
|
|
8
|
-
export * from
|
|
9
|
-
export * from
|
|
10
|
-
export * from './utils/index.js';
|
|
1
|
+
export * from "./adb.js";
|
|
2
|
+
export * from "./auth.js";
|
|
3
|
+
export * from "./backend.js";
|
|
4
|
+
export * from "./commands/index.js";
|
|
5
|
+
export * from "./crypto.js";
|
|
6
|
+
export * from "./features.js";
|
|
7
|
+
export * from "./packet.js";
|
|
8
|
+
export * from "./socket/index.js";
|
|
9
|
+
export * from "./utils/index.js";
|
|
11
10
|
//# sourceMappingURL=index.d.ts.map
|
package/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC"}
|
package/esm/index.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
5
|
-
export * from
|
|
6
|
-
export * from
|
|
7
|
-
export * from
|
|
8
|
-
export * from
|
|
9
|
-
export * from
|
|
10
|
-
export * from './utils/index.js';
|
|
1
|
+
export * from "./adb.js";
|
|
2
|
+
export * from "./auth.js";
|
|
3
|
+
export * from "./backend.js";
|
|
4
|
+
export * from "./commands/index.js";
|
|
5
|
+
export * from "./crypto.js";
|
|
6
|
+
export * from "./features.js";
|
|
7
|
+
export * from "./packet.js";
|
|
8
|
+
export * from "./socket/index.js";
|
|
9
|
+
export * from "./utils/index.js";
|
|
11
10
|
//# sourceMappingURL=index.js.map
|
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC"}
|
package/esm/packet.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { TransformStream } from "@yume-chan/stream-extra";
|
|
2
|
+
import Struct from "@yume-chan/struct";
|
|
3
3
|
export declare enum AdbCommand {
|
|
4
4
|
Auth = 1213486401,
|
|
5
5
|
Close = 1163086915,
|
|
@@ -15,8 +15,8 @@ export declare const AdbPacketHeader: Struct<{
|
|
|
15
15
|
payloadLength: number;
|
|
16
16
|
checksum: number;
|
|
17
17
|
magic: number;
|
|
18
|
-
}, never,
|
|
19
|
-
export
|
|
18
|
+
}, never, Record<never, never>, undefined>;
|
|
19
|
+
export type AdbPacketHeader = typeof AdbPacketHeader["TDeserializeResult"];
|
|
20
20
|
export declare const AdbPacket: Struct<{
|
|
21
21
|
command: number;
|
|
22
22
|
arg0: number;
|
|
@@ -25,8 +25,8 @@ export declare const AdbPacket: Struct<{
|
|
|
25
25
|
checksum: number;
|
|
26
26
|
magic: number;
|
|
27
27
|
payload: Uint8Array;
|
|
28
|
-
}, "payloadLength",
|
|
29
|
-
export
|
|
28
|
+
}, "payloadLength", Record<never, never>, undefined>;
|
|
29
|
+
export type AdbPacket = typeof AdbPacket["TDeserializeResult"];
|
|
30
30
|
/**
|
|
31
31
|
* `AdbPacketData` contains all the useful fields of `AdbPacket`.
|
|
32
32
|
*
|
|
@@ -37,8 +37,8 @@ export declare type AdbPacket = typeof AdbPacket['TDeserializeResult'];
|
|
|
37
37
|
* however, `AdbPacketDispatcher` will transform `AdbPacketData` to `AdbPacketInit` for you,
|
|
38
38
|
* so `AdbSocket#writable#write` only needs `AdbPacketData`.
|
|
39
39
|
*/
|
|
40
|
-
export
|
|
41
|
-
export
|
|
40
|
+
export type AdbPacketData = Omit<typeof AdbPacket["TInit"], "checksum" | "magic">;
|
|
41
|
+
export type AdbPacketInit = Omit<typeof AdbPacket["TInit"], "magic">;
|
|
42
42
|
export declare function calculateChecksum(payload: Uint8Array): number;
|
|
43
43
|
export declare function calculateChecksum(init: AdbPacketData): AdbPacketInit;
|
|
44
44
|
export declare class AdbPacketSerializeStream extends TransformStream<AdbPacketInit, Uint8Array> {
|
package/esm/packet.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packet.d.ts","sourceRoot":"","sources":["../src/packet.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"packet.d.ts","sourceRoot":"","sources":["../src/packet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,oBAAY,UAAU;IAClB,IAAI,aAAa;IACjB,KAAK,aAAa;IAClB,OAAO,aAAa;IACpB,EAAE,aAAa;IACf,IAAI,aAAa;IACjB,KAAK,aAAa;CACrB;AAED,eAAO,MAAM,eAAe;;;;;;;0CAMT,CAAC;AAEpB,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,oBAAoB,CAAC,CAAC;AAI3E,eAAO,MAAM,SAAS;;;;;;;;oDAEsC,CAAC;AAE7D,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,oBAAoB,CAAC,CAAC;AAE/D;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GAAG,IAAI,CAC5B,OAAO,SAAS,CAAC,OAAO,CAAC,EACzB,UAAU,GAAG,OAAO,CACvB,CAAC;AAGF,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AAErE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAAC;AAC/D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,CAAC;AActE,qBAAa,wBAAyB,SAAQ,eAAe,CACzD,aAAa,EACb,UAAU,CACb;;CAuBA"}
|
package/esm/packet.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { TransformStream } from "@yume-chan/stream-extra";
|
|
2
|
+
import Struct from "@yume-chan/struct";
|
|
3
3
|
export var AdbCommand;
|
|
4
4
|
(function (AdbCommand) {
|
|
5
5
|
AdbCommand[AdbCommand["Auth"] = 1213486401] = "Auth";
|
|
@@ -10,15 +10,15 @@ export var AdbCommand;
|
|
|
10
10
|
AdbCommand[AdbCommand["Write"] = 1163154007] = "Write";
|
|
11
11
|
})(AdbCommand = AdbCommand || (AdbCommand = {}));
|
|
12
12
|
export const AdbPacketHeader = new Struct({ littleEndian: true })
|
|
13
|
-
.uint32(
|
|
14
|
-
.uint32(
|
|
15
|
-
.uint32(
|
|
16
|
-
.uint32(
|
|
17
|
-
.uint32(
|
|
18
|
-
.int32(
|
|
13
|
+
.uint32("command")
|
|
14
|
+
.uint32("arg0")
|
|
15
|
+
.uint32("arg1")
|
|
16
|
+
.uint32("payloadLength")
|
|
17
|
+
.uint32("checksum")
|
|
18
|
+
.int32("magic");
|
|
19
19
|
export const AdbPacket = new Struct({ littleEndian: true })
|
|
20
20
|
.fields(AdbPacketHeader)
|
|
21
|
-
.uint8Array(
|
|
21
|
+
.uint8Array("payload", { lengthField: "payloadLength" });
|
|
22
22
|
export function calculateChecksum(payload) {
|
|
23
23
|
if (payload instanceof Uint8Array) {
|
|
24
24
|
return payload.reduce((result, item) => result + item, 0);
|
|
@@ -31,10 +31,12 @@ export function calculateChecksum(payload) {
|
|
|
31
31
|
export class AdbPacketSerializeStream extends TransformStream {
|
|
32
32
|
constructor() {
|
|
33
33
|
super({
|
|
34
|
-
transform:
|
|
34
|
+
transform: (init, controller) => {
|
|
35
35
|
// This syntax is ugly, but I don't want to create a new object.
|
|
36
|
-
init.magic =
|
|
37
|
-
|
|
36
|
+
init.magic =
|
|
37
|
+
init.command ^ 0xffffffff;
|
|
38
|
+
init.payloadLength =
|
|
39
|
+
init.payload.byteLength;
|
|
38
40
|
controller.enqueue(AdbPacketHeader.serialize(init));
|
|
39
41
|
if (init.payload.byteLength) {
|
|
40
42
|
// Enqueue payload separately to avoid copying
|
package/esm/packet.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packet.js","sourceRoot":"","sources":["../src/packet.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"packet.js","sourceRoot":"","sources":["../src/packet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,MAAM,CAAN,IAAY,UAOX;AAPD,WAAY,UAAU;IAClB,oDAAiB,CAAA;IACjB,sDAAkB,CAAA;IAClB,0DAAoB,CAAA;IACpB,gDAAe,CAAA;IACf,oDAAiB,CAAA;IACjB,sDAAkB,CAAA;AACtB,CAAC,EAPW,UAAU,GAAV,UAAU,KAAV,UAAU,QAOrB;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KAC5D,MAAM,CAAC,SAAS,CAAC;KACjB,MAAM,CAAC,MAAM,CAAC;KACd,MAAM,CAAC,MAAM,CAAC;KACd,MAAM,CAAC,eAAe,CAAC;KACvB,MAAM,CAAC,UAAU,CAAC;KAClB,KAAK,CAAC,OAAO,CAAC,CAAC;AAMpB,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KACtD,MAAM,CAAC,eAAe,CAAC;KACvB,UAAU,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,CAAC;AAwB7D,MAAM,UAAU,iBAAiB,CAC7B,OAAmC;IAEnC,IAAI,OAAO,YAAY,UAAU,EAAE;QAC/B,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;KAC7D;SAAM;QACF,OAAyB,CAAC,QAAQ,GAAG,iBAAiB,CACnD,OAAO,CAAC,OAAO,CAClB,CAAC;QACF,OAAO,OAAwB,CAAC;KACnC;AACL,CAAC;AAED,MAAM,OAAO,wBAAyB,SAAQ,eAG7C;IACG;QACI,KAAK,CAAC;YACF,SAAS,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE;gBAC5B,gEAAgE;gBAC/D,IAAuC,CAAC,KAAK;oBAC1C,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;gBAC7B,IAAuC,CAAC,aAAa;oBAClD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;gBAE5B,UAAU,CAAC,OAAO,CACd,eAAe,CAAC,SAAS,CACrB,IAAsC,CACzC,CACJ,CAAC;gBAEF,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;oBACzB,8CAA8C;oBAC9C,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBACpC;YACL,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;CACJ"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type RemoveEventListener } from "@yume-chan/event";
|
|
2
|
+
import { type ReadableWritablePair } from "@yume-chan/stream-extra";
|
|
2
3
|
import { type ValueOrPromise } from "@yume-chan/struct";
|
|
3
|
-
import { AdbCommand, type AdbPacketData, type AdbPacketInit } from
|
|
4
|
-
import { type
|
|
5
|
-
import { AdbSocket } from './socket.js';
|
|
4
|
+
import { AdbCommand, type AdbPacketData, type AdbPacketInit } from "../packet.js";
|
|
5
|
+
import { type AdbSocket } from "./socket.js";
|
|
6
6
|
export interface AdbPacketDispatcherOptions {
|
|
7
7
|
calculateChecksum: boolean;
|
|
8
8
|
/**
|
|
@@ -14,7 +14,7 @@ export interface AdbPacketDispatcherOptions {
|
|
|
14
14
|
appendNullToServiceString: boolean;
|
|
15
15
|
maxPayloadSize: number;
|
|
16
16
|
}
|
|
17
|
-
export
|
|
17
|
+
export type AdbIncomingSocketHandler = (socket: AdbSocket) => ValueOrPromise<boolean>;
|
|
18
18
|
export interface Closeable {
|
|
19
19
|
close(): ValueOrPromise<void>;
|
|
20
20
|
}
|
|
@@ -44,7 +44,12 @@ export declare class AdbPacketDispatcher implements Closeable {
|
|
|
44
44
|
constructor(connection: ReadableWritablePair<AdbPacketData, AdbPacketInit>, options: AdbPacketDispatcherOptions);
|
|
45
45
|
private handleOk;
|
|
46
46
|
private handleClose;
|
|
47
|
-
|
|
47
|
+
/**
|
|
48
|
+
* Add a handler for incoming socket.
|
|
49
|
+
* @param handler A function to call with new incoming sockets. It must return `true` if it accepts the socket.
|
|
50
|
+
* @returns A function to remove the handler.
|
|
51
|
+
*/
|
|
52
|
+
onIncomingSocket(handler: AdbIncomingSocketHandler): RemoveEventListener;
|
|
48
53
|
private handleOpen;
|
|
49
54
|
createSocket(serviceString: string): Promise<AdbSocket>;
|
|
50
55
|
sendPacket(packet: AdbPacketInit): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/socket/dispatcher.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/socket/dispatcher.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAGH,KAAK,oBAAoB,EAE5B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE3E,OAAO,EACH,UAAU,EAEV,KAAK,aAAa,EAClB,KAAK,aAAa,EACrB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAuB,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAElE,MAAM,WAAW,0BAA0B;IACvC,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;;;;OAKG;IACH,yBAAyB,EAAE,OAAO,CAAC;IACnC,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,wBAAwB,GAAG,CACnC,MAAM,EAAE,SAAS,KAChB,cAAc,CAAC,OAAO,CAAC,CAAC;AAE7B,MAAM,WAAW,SAAS;IACtB,KAAK,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;CACjC;AAED;;;;;;;;;GASG;AACH,qBAAa,mBAAoB,YAAW,SAAS;IAGjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgC;IAC7D;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0C;IAElE,OAAO,CAAC,OAAO,CAA8C;IAE7D,SAAgB,OAAO,EAAE,0BAA0B,CAAC;IAEpD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,aAAa,CAA+B;IACpD,IAAW,YAAY,kBAEtB;IAED,OAAO,CAAC,uBAAuB,CAA4C;IAE3E,OAAO,CAAC,gBAAgB,CAAyB;gBAG7C,UAAU,EAAE,oBAAoB,CAAC,aAAa,EAAE,aAAa,CAAC,EAC9D,OAAO,EAAE,0BAA0B;IAuEvC,OAAO,CAAC,QAAQ;YAkBF,WAAW;IA6CzB;;;;OAIG;IACI,gBAAgB,CACnB,OAAO,EAAE,wBAAwB,GAClC,mBAAmB;YASR,UAAU;IA4BX,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAsB7D,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAChD,UAAU,CACb,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,GAC9B,OAAO,CAAC,IAAI,CAAC;IAwCH,KAAK;IAgBlB,OAAO,CAAC,OAAO;CASlB"}
|
package/esm/socket/dispatcher.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { AsyncOperationManager, PromiseResolver } from
|
|
1
|
+
import { AsyncOperationManager, PromiseResolver } from "@yume-chan/async";
|
|
2
|
+
import { AbortController, WritableStream, } from "@yume-chan/stream-extra";
|
|
2
3
|
import { EMPTY_UINT8_ARRAY } from "@yume-chan/struct";
|
|
3
|
-
import { AdbCommand, calculateChecksum } from
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { AdbSocketController } from './socket.js';
|
|
4
|
+
import { AdbCommand, calculateChecksum, } from "../packet.js";
|
|
5
|
+
import { decodeUtf8, encodeUtf8 } from "../utils/index.js";
|
|
6
|
+
import { AdbSocketController } from "./socket.js";
|
|
7
7
|
/**
|
|
8
8
|
* The dispatcher is the "dumb" part of the connection handling logic.
|
|
9
9
|
*
|
|
@@ -26,7 +26,9 @@ export class AdbPacketDispatcher {
|
|
|
26
26
|
options;
|
|
27
27
|
_closed = false;
|
|
28
28
|
_disconnected = new PromiseResolver();
|
|
29
|
-
get disconnected() {
|
|
29
|
+
get disconnected() {
|
|
30
|
+
return this._disconnected.promise;
|
|
31
|
+
}
|
|
30
32
|
_incomingSocketHandlers = new Set();
|
|
31
33
|
_abortController = new AbortController();
|
|
32
34
|
constructor(connection, options) {
|
|
@@ -43,7 +45,9 @@ export class AdbPacketDispatcher {
|
|
|
43
45
|
break;
|
|
44
46
|
case AdbCommand.Write:
|
|
45
47
|
if (this.sockets.has(packet.arg1)) {
|
|
46
|
-
await this.sockets
|
|
48
|
+
await this.sockets
|
|
49
|
+
.get(packet.arg1)
|
|
50
|
+
.enqueue(packet.payload);
|
|
47
51
|
await this.sendPacket(AdbCommand.OK, packet.arg1, packet.arg0);
|
|
48
52
|
break;
|
|
49
53
|
}
|
|
@@ -71,9 +75,6 @@ export class AdbPacketDispatcher {
|
|
|
71
75
|
.then(() => {
|
|
72
76
|
this.dispose();
|
|
73
77
|
}, (e) => {
|
|
74
|
-
// https://github.com/MattiasBuelens/web-streams-polyfill/issues/115
|
|
75
|
-
// `e` is always `AbortError` (instead of what I give in `abortController.abort()`)
|
|
76
|
-
// so we can't check if `e` is a real error.
|
|
77
78
|
if (!this._closed) {
|
|
78
79
|
this._disconnected.reject(e);
|
|
79
80
|
}
|
|
@@ -94,12 +95,12 @@ export class AdbPacketDispatcher {
|
|
|
94
95
|
}
|
|
95
96
|
// Maybe the device is responding to a packet of last connection
|
|
96
97
|
// Tell the device to close the socket
|
|
97
|
-
this.sendPacket(AdbCommand.Close, packet.arg1, packet.arg0);
|
|
98
|
+
void this.sendPacket(AdbCommand.Close, packet.arg1, packet.arg0);
|
|
98
99
|
}
|
|
99
100
|
async handleClose(packet) {
|
|
100
101
|
// If the socket is still pending
|
|
101
102
|
if (packet.arg0 === 0 &&
|
|
102
|
-
this.initializers.reject(packet.arg1, new Error(
|
|
103
|
+
this.initializers.reject(packet.arg1, new Error("Socket open failed"))) {
|
|
103
104
|
// Device failed to create the socket
|
|
104
105
|
// (unknown service string, failed to execute command, etc.)
|
|
105
106
|
// it doesn't break the connection,
|
|
@@ -120,7 +121,7 @@ export class AdbPacketDispatcher {
|
|
|
120
121
|
if (!socket.closed) {
|
|
121
122
|
await this.sendPacket(AdbCommand.Close, packet.arg1, packet.arg0);
|
|
122
123
|
}
|
|
123
|
-
socket.dispose();
|
|
124
|
+
await socket.dispose();
|
|
124
125
|
this.sockets.delete(packet.arg1);
|
|
125
126
|
return;
|
|
126
127
|
}
|
|
@@ -128,7 +129,12 @@ export class AdbPacketDispatcher {
|
|
|
128
129
|
// If the client sends two `CLSE` packets for one socket,
|
|
129
130
|
// the device may also respond with two `CLSE` packets.
|
|
130
131
|
}
|
|
131
|
-
|
|
132
|
+
/**
|
|
133
|
+
* Add a handler for incoming socket.
|
|
134
|
+
* @param handler A function to call with new incoming sockets. It must return `true` if it accepts the socket.
|
|
135
|
+
* @returns A function to remove the handler.
|
|
136
|
+
*/
|
|
137
|
+
onIncomingSocket(handler) {
|
|
132
138
|
this._incomingSocketHandlers.add(handler);
|
|
133
139
|
const remove = () => {
|
|
134
140
|
this._incomingSocketHandlers.delete(handler);
|
|
@@ -137,7 +143,7 @@ export class AdbPacketDispatcher {
|
|
|
137
143
|
return remove;
|
|
138
144
|
}
|
|
139
145
|
async handleOpen(packet) {
|
|
140
|
-
// AsyncOperationManager doesn't support
|
|
146
|
+
// `AsyncOperationManager` doesn't support skipping IDs
|
|
141
147
|
// Use `add` + `resolve` to simulate this behavior
|
|
142
148
|
const [localId] = this.initializers.add();
|
|
143
149
|
this.initializers.resolve(localId, undefined);
|
|
@@ -161,7 +167,7 @@ export class AdbPacketDispatcher {
|
|
|
161
167
|
}
|
|
162
168
|
async createSocket(serviceString) {
|
|
163
169
|
if (this.options.appendNullToServiceString) {
|
|
164
|
-
serviceString +=
|
|
170
|
+
serviceString += "\0";
|
|
165
171
|
}
|
|
166
172
|
const [localId, initializer] = this.initializers.add();
|
|
167
173
|
await this.sendPacket(AdbCommand.Open, localId, 0, serviceString);
|
|
@@ -183,7 +189,7 @@ export class AdbPacketDispatcher {
|
|
|
183
189
|
init = packetOrCommand;
|
|
184
190
|
}
|
|
185
191
|
else {
|
|
186
|
-
if (typeof payload ===
|
|
192
|
+
if (typeof payload === "string") {
|
|
187
193
|
payload = encodeUtf8(payload);
|
|
188
194
|
}
|
|
189
195
|
init = {
|
|
@@ -195,7 +201,7 @@ export class AdbPacketDispatcher {
|
|
|
195
201
|
}
|
|
196
202
|
if (init.payload &&
|
|
197
203
|
init.payload.byteLength > this.options.maxPayloadSize) {
|
|
198
|
-
throw new Error(
|
|
204
|
+
throw new Error("payload too large");
|
|
199
205
|
}
|
|
200
206
|
if (this.options.calculateChecksum) {
|
|
201
207
|
calculateChecksum(init);
|
|
@@ -208,7 +214,7 @@ export class AdbPacketDispatcher {
|
|
|
208
214
|
}
|
|
209
215
|
async close() {
|
|
210
216
|
// Send `CLSE` packets for all sockets
|
|
211
|
-
await Promise.all(Array.from(this.sockets.values(), socket => socket.close()));
|
|
217
|
+
await Promise.all(Array.from(this.sockets.values(), (socket) => socket.close()));
|
|
212
218
|
// Stop receiving
|
|
213
219
|
// It's possible that we haven't received all `CLSE` confirm packets,
|
|
214
220
|
// but it doesn't matter, the next connection can cope with them.
|
|
@@ -219,7 +225,9 @@ export class AdbPacketDispatcher {
|
|
|
219
225
|
}
|
|
220
226
|
dispose() {
|
|
221
227
|
for (const socket of this.sockets.values()) {
|
|
222
|
-
socket.dispose()
|
|
228
|
+
socket.dispose().catch((e) => {
|
|
229
|
+
void e;
|
|
230
|
+
});
|
|
223
231
|
}
|
|
224
232
|
this._disconnected.resolve();
|
|
225
233
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/socket/dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE1E,OAAO,
|
|
1
|
+
{"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/socket/dispatcher.ts"],"names":[],"mappings":"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"}
|
package/esm/socket/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/socket/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/socket/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC"}
|
package/esm/socket/index.js
CHANGED
package/esm/socket/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/socket/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/socket/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC"}
|
package/esm/socket/socket.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import { WritableStream, type ReadableStream, type ReadableWritablePair } from
|
|
3
|
-
import type
|
|
1
|
+
import { type Disposable } from "@yume-chan/event";
|
|
2
|
+
import { WritableStream, type ReadableStream, type ReadableWritablePair } from "@yume-chan/stream-extra";
|
|
3
|
+
import { type AdbPacketDispatcher, type Closeable } from "./dispatcher.js";
|
|
4
4
|
export interface AdbSocketInfo {
|
|
5
5
|
localId: number;
|
|
6
6
|
remoteId: number;
|
|
@@ -36,10 +36,10 @@ export declare class AdbSocketController implements AdbSocketInfo, ReadableWrita
|
|
|
36
36
|
enqueue(packet: Uint8Array): Promise<void>;
|
|
37
37
|
ack(): void;
|
|
38
38
|
close(): Promise<void>;
|
|
39
|
-
dispose(): void
|
|
39
|
+
dispose(): Promise<void>;
|
|
40
40
|
}
|
|
41
41
|
/**
|
|
42
|
-
*
|
|
42
|
+
* A duplex stream representing a socket to ADB daemon.
|
|
43
43
|
*
|
|
44
44
|
* To close it, call either `socket.close()`,
|
|
45
45
|
* `socket.readable.cancel()`, `socket.readable.getReader().cancel()`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../src/socket/socket.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../src/socket/socket.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAIH,cAAc,EAGd,KAAK,cAAc,EACnB,KAAK,oBAAoB,EAC5B,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE3E,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IAEjB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,4BAA6B,SAAQ,aAAa;IAC/D,UAAU,EAAE,mBAAmB,CAAC;IAEhC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAED,qBAAa,mBACT,YACI,aAAa,EACb,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,EAC5C,SAAS,EACT,UAAU;IAEd,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAElD,SAAgB,OAAO,EAAG,MAAM,CAAC;IACjC,SAAgB,QAAQ,EAAG,MAAM,CAAC;IAClC,SAAgB,YAAY,EAAG,OAAO,CAAC;IACvC,SAAgB,aAAa,EAAG,MAAM,CAAC;IAEvC,OAAO,CAAC,OAAO,CAA8C;IAE7D,OAAO,CAAC,SAAS,CAA6B;IAC9C,OAAO,CAAC,mBAAmB,CAA4C;IACvE,IAAW,QAAQ,+BAElB;IAED,OAAO,CAAC,aAAa,CAAoC;IACzD,SAAgB,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IAErD,OAAO,CAAC,OAAO,CAAS;IACxB;;;;OAIG;IACH,IAAW,MAAM,YAEhB;IAED,OAAO,CAAC,OAAO,CAAY;IAC3B,IAAW,MAAM,cAEhB;gBAEkB,OAAO,EAAE,4BAA4B;IA8D3C,OAAO,CAAC,MAAM,EAAE,UAAU;IAUhC,GAAG;IAIG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,OAAO;CAGjB;AAED;;;;;;;GAOG;AACH,qBAAa,SACT,YAAW,aAAa,EAAE,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC;IAEtE,OAAO,CAAC,WAAW,CAAsB;IAEzC,IAAW,OAAO,IAAI,MAAM,CAE3B;IACD,IAAW,QAAQ,IAAI,MAAM,CAE5B;IACD,IAAW,YAAY,IAAI,OAAO,CAEjC;IACD,IAAW,aAAa,IAAI,MAAM,CAEjC;IAED,IAAW,QAAQ,IAAI,cAAc,CAAC,UAAU,CAAC,CAEhD;IACD,IAAW,QAAQ,IAAI,cAAc,CAAC,UAAU,CAAC,CAEhD;gBAEkB,UAAU,EAAE,mBAAmB;IAI3C,KAAK;CAGf"}
|
package/esm/socket/socket.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PromiseResolver } from "@yume-chan/async";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { ChunkStream, DuplexStreamFactory, PushReadableStream, WritableStream, pipeFrom, } from "@yume-chan/stream-extra";
|
|
3
|
+
import { AdbCommand } from "../packet.js";
|
|
4
4
|
export class AdbSocketController {
|
|
5
5
|
dispatcher;
|
|
6
6
|
localId;
|
|
@@ -10,7 +10,9 @@ export class AdbSocketController {
|
|
|
10
10
|
_duplex;
|
|
11
11
|
_readable;
|
|
12
12
|
_readableController;
|
|
13
|
-
get readable() {
|
|
13
|
+
get readable() {
|
|
14
|
+
return this._readable;
|
|
15
|
+
}
|
|
14
16
|
_writePromise;
|
|
15
17
|
writable;
|
|
16
18
|
_closed = false;
|
|
@@ -19,9 +21,13 @@ export class AdbSocketController {
|
|
|
19
21
|
*
|
|
20
22
|
* It's only used by dispatcher to avoid sending another `CLSE` packet to remote.
|
|
21
23
|
*/
|
|
22
|
-
get closed() {
|
|
24
|
+
get closed() {
|
|
25
|
+
return this._closed;
|
|
26
|
+
}
|
|
23
27
|
_socket;
|
|
24
|
-
get socket() {
|
|
28
|
+
get socket() {
|
|
29
|
+
return this._socket;
|
|
30
|
+
}
|
|
25
31
|
constructor(options) {
|
|
26
32
|
Object.assign(this, options);
|
|
27
33
|
// Check this image to help you understand the stream graph
|
|
@@ -36,14 +42,16 @@ export class AdbSocketController {
|
|
|
36
42
|
},
|
|
37
43
|
dispose: () => {
|
|
38
44
|
// Error out the pending writes
|
|
39
|
-
this._writePromise?.reject(new Error(
|
|
45
|
+
this._writePromise?.reject(new Error("Socket closed"));
|
|
40
46
|
},
|
|
41
47
|
});
|
|
42
|
-
this._readable = this._duplex.wrapReadable(new PushReadableStream(controller => {
|
|
48
|
+
this._readable = this._duplex.wrapReadable(new PushReadableStream((controller) => {
|
|
43
49
|
this._readableController = controller;
|
|
44
50
|
}, {
|
|
45
51
|
highWaterMark: options.highWaterMark ?? 16 * 1024,
|
|
46
|
-
size(chunk) {
|
|
52
|
+
size(chunk) {
|
|
53
|
+
return chunk.byteLength;
|
|
54
|
+
},
|
|
47
55
|
}));
|
|
48
56
|
this.writable = pipeFrom(this._duplex.createWritable(new WritableStream({
|
|
49
57
|
write: async (chunk) => {
|
|
@@ -51,7 +59,7 @@ export class AdbSocketController {
|
|
|
51
59
|
this._writePromise = new PromiseResolver();
|
|
52
60
|
await this.dispatcher.sendPacket(AdbCommand.Write, this.localId, this.remoteId, chunk);
|
|
53
61
|
await this._writePromise.promise;
|
|
54
|
-
}
|
|
62
|
+
},
|
|
55
63
|
})), new ChunkStream(this.dispatcher.options.maxPayloadSize));
|
|
56
64
|
this._socket = new AdbSocket(this);
|
|
57
65
|
}
|
|
@@ -70,11 +78,11 @@ export class AdbSocketController {
|
|
|
70
78
|
await this._duplex.close();
|
|
71
79
|
}
|
|
72
80
|
dispose() {
|
|
73
|
-
this._duplex.dispose();
|
|
81
|
+
return this._duplex.dispose();
|
|
74
82
|
}
|
|
75
83
|
}
|
|
76
84
|
/**
|
|
77
|
-
*
|
|
85
|
+
* A duplex stream representing a socket to ADB daemon.
|
|
78
86
|
*
|
|
79
87
|
* To close it, call either `socket.close()`,
|
|
80
88
|
* `socket.readable.cancel()`, `socket.readable.getReader().cancel()`,
|
|
@@ -83,12 +91,24 @@ export class AdbSocketController {
|
|
|
83
91
|
*/
|
|
84
92
|
export class AdbSocket {
|
|
85
93
|
_controller;
|
|
86
|
-
get localId() {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
get
|
|
90
|
-
|
|
91
|
-
|
|
94
|
+
get localId() {
|
|
95
|
+
return this._controller.localId;
|
|
96
|
+
}
|
|
97
|
+
get remoteId() {
|
|
98
|
+
return this._controller.remoteId;
|
|
99
|
+
}
|
|
100
|
+
get localCreated() {
|
|
101
|
+
return this._controller.localCreated;
|
|
102
|
+
}
|
|
103
|
+
get serviceString() {
|
|
104
|
+
return this._controller.serviceString;
|
|
105
|
+
}
|
|
106
|
+
get readable() {
|
|
107
|
+
return this._controller.readable;
|
|
108
|
+
}
|
|
109
|
+
get writable() {
|
|
110
|
+
return this._controller.writable;
|
|
111
|
+
}
|
|
92
112
|
constructor(controller) {
|
|
93
113
|
this._controller = controller;
|
|
94
114
|
}
|
package/esm/socket/socket.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socket.js","sourceRoot":"","sources":["../../src/socket/socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,
|
|
1
|
+
{"version":3,"file":"socket.js","sourceRoot":"","sources":["../../src/socket/socket.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-reset-event.d.ts","sourceRoot":"","sources":["../../src/utils/auto-reset-event.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"auto-reset-event.d.ts","sourceRoot":"","sources":["../../src/utils/auto-reset-event.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,qBAAa,cAAe,YAAW,UAAU;IAC7C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA+B;IAEpD,OAAO,CAAC,QAAQ,CAAU;gBAEP,UAAU,UAAQ;IAI9B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAcrB,MAAM;IAQN,OAAO;CAMjB"}
|