Closed iglesiasbrandon closed 1 year ago
In terms of an API, I think we could get away with adding single RPC, ~ExchangeSegmentPieceOrders
~ RetryBeginSegmentPieces
or something that allows an uplink to replace piece orders that were originally created by BeginSegment.
The flow could then be as follows:
API definition for the new ~ExchangeSegmentPieceOrders~ RetryBeginSegmentPieces RPC: https://review.dev.storj.io/c/storj/common/+/9371
Change https://review.dev.storj.io/c/storj/storj/+/9378 mentions this issue.
we implemented the RPC for this and have a strategy for the client side. @zeebo @azdagron going to close this issue now!
Right now we have a overly conservative 29/80 scheme that requires a ton of extra bandwidth. Instead of doing something static, it would be nice if the uplink could communicate with the satellite to get peers dynamically according to the network conditions it is experiencing. For example, if it is uploading many parallel segments, it maybe doesn't need as many extra peers to maintain a good quality of service.
Deliverable: