You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@MichaelMure would like to be able to Finalize() a CARv2 blockstore, so safely flush it to disk along with the index, but still be able to read from it.
This is reasonable and doable, but it means we either have to introduce new APIs or break the Finalize() contract; we probably shouldn't do that.
Finalize() calling ReadOnly#Close() is the key problem here, but if we had a separate ReadWrite#Close() then we could avoid that, but we'd need a separate Finalize(). @MichaelMure has suggested FinalizeReadOnly(). An alternative API he's suggested is for that call to return a closer but that's a bit of a departure from the imperative style here so I'm 👎 on that one. Finalize() can then be a combination of FinalizeReadOnly() and Close() and the functionality provided by ReadOnly can still remain intact and the PutMany check of closed could change to a check on a new finalized property.
@masih@willscott any objections to allowing @MichaelMure to proceed with those changes, or do you have better suggestions, or even objections?
The text was updated successfully, but these errors were encountered:
@MichaelMure would like to be able to
Finalize()
a CARv2 blockstore, so safely flush it to disk along with the index, but still be able to read from it.This is reasonable and doable, but it means we either have to introduce new APIs or break the
Finalize()
contract; we probably shouldn't do that.Finalize()
callingReadOnly#Close()
is the key problem here, but if we had a separateReadWrite#Close()
then we could avoid that, but we'd need a separateFinalize()
. @MichaelMure has suggestedFinalizeReadOnly()
. An alternative API he's suggested is for that call to return a closer but that's a bit of a departure from the imperative style here so I'm 👎 on that one.Finalize()
can then be a combination ofFinalizeReadOnly()
andClose()
and the functionality provided byReadOnly
can still remain intact and thePutMany
check ofclosed
could change to a check on a newfinalized
property.@masih @willscott any objections to allowing @MichaelMure to proceed with those changes, or do you have better suggestions, or even objections?
The text was updated successfully, but these errors were encountered: