chore: 管理网络适配器

This commit is contained in:
手瓜一十雪 2024-08-10 17:11:04 +08:00
parent 89188958ec
commit 84e5417a8c

View File

@ -8,12 +8,20 @@ export interface IOB11NetworkAdapter {
close(): void | Promise<void>; close(): void | Promise<void>;
} }
export class OB11NetworkManager { export class OB11NetworkManager {
private adapters: IOB11NetworkAdapter[] = []; adapters: IOB11NetworkAdapter[] = [];
registerAdapter(adapter: IOB11NetworkAdapter) { async getAllAdapters() {
this.adapters.push(adapter); return this.adapters;
} }
async closeAll() { async registerAdapter(adapter: IOB11NetworkAdapter) {
return this.adapters.push(adapter);
}
async closeSomeAdapters(adapters: IOB11NetworkAdapter[]) {
this.adapters = this.adapters.filter(adapter => !adapters.includes(adapter));
await Promise.all(adapters.map(adapter => adapter.close()));
}
async closeAllAdapters() {
this.adapters = [];
await Promise.all(this.adapters.map(adapter => adapter.close())); await Promise.all(this.adapters.map(adapter => adapter.close()));
} }
} }