From 3175707fbe32eb11a8e742417444f4bbdb2356a6 Mon Sep 17 00:00:00 2001 From: chad Date: Sat, 22 Apr 2023 11:20:52 -0500 Subject: [PATCH 1/2] feat!: added method to cancel a pending dial by it's id --- packages/interface-connection-manager/src/index.ts | 12 ++++++++++++ packages/interface-libp2p/src/index.ts | 11 +++++++++++ packages/interface-mocks/src/connection-manager.ts | 2 ++ 3 files changed, 25 insertions(+) diff --git a/packages/interface-connection-manager/src/index.ts b/packages/interface-connection-manager/src/index.ts index 2a2e5266c..55d14eb39 100644 --- a/packages/interface-connection-manager/src/index.ts +++ b/packages/interface-connection-manager/src/index.ts @@ -76,4 +76,16 @@ export interface ConnectionManager { * ``` */ getDialQueue: () => PendingDial[] + + /** + * Cancel a pending dial by removing it from the queue and rejecting all promises associated with it + * @param {string} id - The id of the dial to cancel + * @returns {void} + * @example + * ```js + * const dialId = libp2p.connectionManager.getDialQueue()[0].id + * libp2p.connectionManager.cancelDial(dial-id) + * ``` + */ + cancelDial: (id: string) => void } diff --git a/packages/interface-libp2p/src/index.ts b/packages/interface-libp2p/src/index.ts index abb8d4c1b..f619e485a 100644 --- a/packages/interface-libp2p/src/index.ts +++ b/packages/interface-libp2p/src/index.ts @@ -444,6 +444,17 @@ export interface Libp2p extends Startable, EventEmitter { */ getDialQueue: () => PendingDial[] + /** + * Cancel a pending dial by its id + * + * @example + * ```js + * const dialId = libp2p.getDialQueue()[0].id + * libp2p.cancelDial(dialId) + * ``` + */ + cancelDial: (id: string) => void + /** * Return a list of all peers we currently have a connection open to */ diff --git a/packages/interface-mocks/src/connection-manager.ts b/packages/interface-mocks/src/connection-manager.ts index 416eaf90b..6def0b2ce 100644 --- a/packages/interface-mocks/src/connection-manager.ts +++ b/packages/interface-mocks/src/connection-manager.ts @@ -192,6 +192,8 @@ class MockConnectionManager implements ConnectionManager, Startable { getDialQueue (): PendingDial[] { return [] } + + cancelDial (): void {} } export function mockConnectionManager (components: MockConnectionManagerComponents): ConnectionManager { From 1b6b66e1b84b9e35b59264b830ae7a4733f6903f Mon Sep 17 00:00:00 2001 From: chad Date: Sat, 22 Apr 2023 11:20:52 -0500 Subject: [PATCH 2/2] feat!: added method to cancel a pending dial by it's id --- packages/interface-connection-manager/src/index.ts | 4 +++- packages/interface-libp2p/src/index.ts | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/interface-connection-manager/src/index.ts b/packages/interface-connection-manager/src/index.ts index 55d14eb39..f9be83631 100644 --- a/packages/interface-connection-manager/src/index.ts +++ b/packages/interface-connection-manager/src/index.ts @@ -79,9 +79,11 @@ export interface ConnectionManager { /** * Cancel a pending dial by removing it from the queue and rejecting all promises associated with it + * * @param {string} id - The id of the dial to cancel - * @returns {void} + * * @example + * * ```js * const dialId = libp2p.connectionManager.getDialQueue()[0].id * libp2p.connectionManager.cancelDial(dial-id) diff --git a/packages/interface-libp2p/src/index.ts b/packages/interface-libp2p/src/index.ts index f619e485a..2d714afe0 100644 --- a/packages/interface-libp2p/src/index.ts +++ b/packages/interface-libp2p/src/index.ts @@ -447,7 +447,8 @@ export interface Libp2p extends Startable, EventEmitter { /** * Cancel a pending dial by its id * - * @example + * @example + * * ```js * const dialId = libp2p.getDialQueue()[0].id * libp2p.cancelDial(dialId)