feat(datatransfer): make dag service dt async
To more closely match the implementation, make calls to dag service in DT module asynchronous
This commit is contained in:
parent
d0b705705f
commit
4e1e43f10f
@ -58,6 +58,7 @@ func (impl *dagserviceImpl) OpenPushDataChannel(to peer.ID, voucher Voucher, bas
|
|||||||
// open a data transfer that will request data from the sending peer and
|
// open a data transfer that will request data from the sending peer and
|
||||||
// transfer parts of the piece that match the selector
|
// transfer parts of the piece that match the selector
|
||||||
func (impl *dagserviceImpl) OpenPullDataChannel(to peer.ID, voucher Voucher, baseCid cid.Cid, Selector ipld.Node) (ChannelID, error) {
|
func (impl *dagserviceImpl) OpenPullDataChannel(to peer.ID, voucher Voucher, baseCid cid.Cid, Selector ipld.Node) (ChannelID, error) {
|
||||||
|
go func() {
|
||||||
err := merkledag.FetchGraph(context.TODO(), baseCid, impl.dag)
|
err := merkledag.FetchGraph(context.TODO(), baseCid, impl.dag)
|
||||||
var event Event
|
var event Event
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -66,6 +67,7 @@ func (impl *dagserviceImpl) OpenPullDataChannel(to peer.ID, voucher Voucher, bas
|
|||||||
event = Complete
|
event = Complete
|
||||||
}
|
}
|
||||||
impl.subscriber(event, ChannelState{Channel: Channel{voucher: voucher}})
|
impl.subscriber(event, ChannelState{Channel: Channel{voucher: voucher}})
|
||||||
|
}()
|
||||||
return ChannelID{}, nil
|
return ChannelID{}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user