rework moc discovery

This commit is contained in:
Dmitriy Ryajov 2022-04-19 19:22:08 -06:00
parent 6b0e5f95e7
commit 8fafc3edf3
No known key found for this signature in database
GPG Key ID: DA8C680CE7C657A4

View File

@ -17,9 +17,9 @@ import pkg/libp2pdht/discv5/protocol as discv5
export discv5 export discv5
type type
Discovery* = ref object MockDiscovery* = ref object of Discovery
findBlockProviders_var*: proc(d: Discovery, cid: Cid): seq[SignedPeerRecord] {.gcsafe.} findBlockProvidersHandler*: proc(d: MockDiscovery, cid: Cid): seq[SignedPeerRecord] {.gcsafe.}
publishProvide_var*: proc(d: Discovery, cid: Cid) {.gcsafe.} publishProvideHandler*: proc(d: MockDiscovery, cid: Cid) {.gcsafe.}
proc new*( proc new*(
T: type Discovery, T: type Discovery,
@ -38,13 +38,13 @@ proc findPeer*(
proc findBlockProviders*( proc findBlockProviders*(
d: Discovery, d: Discovery,
cid: Cid): Future[seq[SignedPeerRecord]] {.async.} = cid: Cid): Future[seq[SignedPeerRecord]] {.async.} =
if isNil(d.findBlockProviders_var): return if isNil(d.findBlockProvidersHandler): return
return d.findBlockProviders_var(d, cid) return d.findBlockProvidersHandler(d, cid)
proc publishProvide*(d: Discovery, cid: Cid) {.async.} = method provideBlock*(d: MockDiscovery, cid: Cid) {.async.} =
if isNil(d.publishProvide_var): return if isNil(d.publishProvideHandler): return
d.publishProvide_var(d, cid) d.publishProvideHandler(d, cid)
proc start*(d: Discovery) {.async.} = proc start*(d: Discovery) {.async.} =