Skip to content

Commit f74270f

Browse files
phrwlkLukaszRozmej
andauthored
chore(sync): remove redundant Task.Run (#9662)
Co-authored-by: Lukasz Rozmej <[email protected]>
1 parent 20cf6f5 commit f74270f

File tree

1 file changed

+24
-15
lines changed

1 file changed

+24
-15
lines changed

src/Nethermind/Nethermind.Synchronization/Blocks/MultiBlockDownloader.cs

Lines changed: 24 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -16,23 +16,32 @@ public class MultiBlockDownloader : ISyncDownloader<BlocksRequest>
1616
{
1717
public async Task Dispatch(PeerInfo peerInfo, BlocksRequest request, CancellationToken cancellationToken)
1818
{
19-
request.DownloadTask = Task.Run(async () =>
19+
cancellationToken.ThrowIfCancellationRequested();
20+
if (request.BodiesRequests.Count == 0 && request.ReceiptsRequests.Count == 0)
2021
{
21-
if (request.BodiesRequests.Count > 0)
22-
{
23-
using IOwnedReadOnlyList<Hash256> bodiesHash = request.BodiesRequests.Select(b => b.Hash)
24-
.ToPooledList(request.BodiesRequests.Count);
25-
request.OwnedBodies = await peerInfo.SyncPeer.GetBlockBodies(bodiesHash, cancellationToken);
26-
}
22+
request.DownloadTask = Task.CompletedTask;
23+
return;
24+
}
2725

28-
if (request.ReceiptsRequests.Count > 0)
29-
{
30-
using IOwnedReadOnlyList<Hash256> receiptsHash = request.ReceiptsRequests.Select(b => b.Hash)
31-
.ToPooledList(request.ReceiptsRequests.Count);
32-
var ownedReceipts = await peerInfo.SyncPeer.GetReceipts(receiptsHash, cancellationToken);
33-
request.Receipts = ownedReceipts;
34-
}
35-
}, cancellationToken);
26+
request.DownloadTask = DownloadAsync(peerInfo, request, cancellationToken);
3627
await request.DownloadTask;
3728
}
29+
30+
private static async Task DownloadAsync(PeerInfo peerInfo, BlocksRequest request, CancellationToken cancellationToken)
31+
{
32+
if (request.BodiesRequests.Count > 0)
33+
{
34+
using IOwnedReadOnlyList<Hash256> bodiesHash = request.BodiesRequests.Select(b => b.Hash)
35+
.ToPooledList(request.BodiesRequests.Count);
36+
request.OwnedBodies = await peerInfo.SyncPeer.GetBlockBodies(bodiesHash, cancellationToken);
37+
}
38+
39+
if (request.ReceiptsRequests.Count > 0)
40+
{
41+
using IOwnedReadOnlyList<Hash256> receiptsHash = request.ReceiptsRequests.Select(b => b.Hash)
42+
.ToPooledList(request.ReceiptsRequests.Count);
43+
var ownedReceipts = await peerInfo.SyncPeer.GetReceipts(receiptsHash, cancellationToken);
44+
request.Receipts = ownedReceipts;
45+
}
46+
}
3847
}

0 commit comments

Comments
 (0)