mirror of
https://github.com/codex-storage/nim-codex.git
synced 2025-02-26 11:35:23 +00:00
rework moc discovery
This commit is contained in:
parent
6b0e5f95e7
commit
8fafc3edf3
@ -17,9 +17,9 @@ import pkg/libp2pdht/discv5/protocol as discv5
|
||||
export discv5
|
||||
|
||||
type
|
||||
Discovery* = ref object
|
||||
findBlockProviders_var*: proc(d: Discovery, cid: Cid): seq[SignedPeerRecord] {.gcsafe.}
|
||||
publishProvide_var*: proc(d: Discovery, cid: Cid) {.gcsafe.}
|
||||
MockDiscovery* = ref object of Discovery
|
||||
findBlockProvidersHandler*: proc(d: MockDiscovery, cid: Cid): seq[SignedPeerRecord] {.gcsafe.}
|
||||
publishProvideHandler*: proc(d: MockDiscovery, cid: Cid) {.gcsafe.}
|
||||
|
||||
proc new*(
|
||||
T: type Discovery,
|
||||
@ -38,13 +38,13 @@ proc findPeer*(
|
||||
proc findBlockProviders*(
|
||||
d: Discovery,
|
||||
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.} =
|
||||
if isNil(d.publishProvide_var): return
|
||||
d.publishProvide_var(d, cid)
|
||||
method provideBlock*(d: MockDiscovery, cid: Cid) {.async.} =
|
||||
if isNil(d.publishProvideHandler): return
|
||||
d.publishProvideHandler(d, cid)
|
||||
|
||||
|
||||
proc start*(d: Discovery) {.async.} =
|
||||
|
Loading…
x
Reference in New Issue
Block a user