update
This commit is contained in:
parent
024120065e
commit
2514c26ed8
1 changed files with 6 additions and 4 deletions
|
@ -198,21 +198,23 @@ ExportActions api.
|
|||
|
||||
getContentIdentifier :: ExportLocation -> Annex (Maybe ContentIdentifier)
|
||||
|
||||
retrieveExportWithContentIdentifier :: ExportLocation -> ContentIdentifier -> FilePath -> MeterUpdate -> Annex Bool
|
||||
retrieveExportWithContentIdentifier :: ExportLocation -> ContentIdentifier -> (FilePath -> Annex Key) -> MeterUpdate -> Annex (Maybe Key)
|
||||
|
||||
storeExportWithContentIdentifier :: FilePath -> Key -> ExportLocation -> MeterUpdate -> Annex (Maybe ContentIdentifier)
|
||||
|
||||
retrieveExportWithContentIdentifier is used when downloading a new file from
|
||||
the remote that listContents found. retrieveExport can't be used because
|
||||
it has a Key parameter and the key is not yet known in this case.
|
||||
(The callback generating a key will let eg S3 record the S3 version id for
|
||||
the key.)
|
||||
|
||||
storeExportWithContentIdentifier is used to get the content identifier
|
||||
corresponding to what was just stored. It can either get the content
|
||||
corresponding to what it stores. It can either get the content
|
||||
identifier in reply to the store (as S3 does with versioning), or it can
|
||||
store to a temp location, get the content identifier of that, and then
|
||||
rename the content into place. When there's a race with a concurrent
|
||||
writer, it needs to avoid getting the ContentIdentifier for data written by
|
||||
the other writer.
|
||||
writer, it needs to avoid getting the wrong ContentIdentifier for data
|
||||
written by the other writer.
|
||||
|
||||
TODO what's needed to work around the other race condition discussed above?
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue