experiment: http retrieval #495
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
HTTP Retrieval
To serve a file over HTTP we need to
HTTP Server as an embedded process
Dependencies required for an HTTP retrieval endpoint:
PieceStore
The Piece Store is needed to get the sector id, offset and length of a deal
SectorAccessor (defined in lotus/markets/dagstore)
The Sector Accessor is needed to get a reader over the piece.
The dependencies of the sector accessor are:
Requires a connection to the sealing RPC API
Requires a connection to the full node RPC API
Requires a connection to the sealing RPC API and Remote storage RPC API
DAGStore
The DAG store is needed to calculate the size of the unpadded CAR file:
HTTP Server as a separate process
To run the HTTP server as a separate process, it would need configuration for
The Boost RPC API would need the following new methods: