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>;
}
export class OB11NetworkManager {
private adapters: IOB11NetworkAdapter[] = [];
adapters: IOB11NetworkAdapter[] = [];
registerAdapter(adapter: IOB11NetworkAdapter) {
this.adapters.push(adapter);
async getAllAdapters() {
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()));
}
}