Skip to content
This repository was archived by the owner on Jul 21, 2023. It is now read-only.

Commit ff87f4b

Browse files
richardschneiderdaviddias
authored andcommitted
fix: release providers resources (#23)
1 parent d4f71a9 commit ff87f4b

File tree

3 files changed

+16
-0
lines changed

3 files changed

+16
-0
lines changed

src/index.js

+1
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ class KadDHT {
120120
stop (callback) {
121121
this._running = false
122122
this.bootstrapStop()
123+
this.providers.stop()
123124
this.network.stop(callback)
124125
}
125126

src/providers.js

+12
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,18 @@ class Providers {
5858
this.providers = cache(this.lruCacheSize)
5959
}
6060

61+
/**
62+
* Release any resources.
63+
*
64+
* @returns {undefined}
65+
*/
66+
stop () {
67+
if (this._cleaner) {
68+
clearInterval(this._cleaner)
69+
this._cleaner = null
70+
}
71+
}
72+
6173
/**
6274
* Check all providers if they are still valid, and if not
6375
* delete them.

test/providers.spec.js

+3
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ describe('Providers', () => {
5151
providers.getProviders(cid, (err, provs) => {
5252
expect(err).to.not.exist()
5353
expect(provs).to.be.eql([infos[0].id, infos[1].id])
54+
providers.stop()
5455

5556
done()
5657
})
@@ -82,6 +83,7 @@ describe('Providers', () => {
8283
provs.forEach((p) => {
8384
expect(p[0].id).to.be.eql(infos[0].id.id)
8485
})
86+
providers.stop()
8587
cb()
8688
})
8789
}
@@ -111,6 +113,7 @@ describe('Providers', () => {
111113
providers.getProviders(cid, (err, provs) => {
112114
expect(err).to.not.exist()
113115
expect(provs).to.have.length(0)
116+
providers.stop()
114117
done()
115118
})
116119
}, 300)

0 commit comments

Comments
 (0)