GetFileInfos
TODO: review
Operation to get FileInfos from one or more pillars in a given collection.
One or all files
FileInfos can be requested either for a single file or for all files in a collection.
Requesting FileInfos for all files in a collection may yield a large set of results. Due to this the protocol supports a method of limiting which files are listed, which can be used for implementing a paging mechanism.
Paging
To be able to page through a large number of FileInfos the GetFileInfos request supports limitations on the result set.
The limitations are:
- Minimum timestamp for the file
- Maximum timestamp for the file
- Minimum timestamp for the latest calculation time of the checksum
- Maximum timestamp for the latest calculation time of the checksum
- Maximum number of results
Pillars responding to a GetFileInfos request should adhere to the following:
- The returned FileInfos should be ordered by their date oldest first.
- No more than the maximum number of results specified in the request should be delivered.
- If the pillar itself only allows for transmitting fewer results than specified in the request the pillar should keep to its own maximum.
- If the pillar has more FileInfos than could be sent in the response, then the response should be marked as a PartialResult.
- If limitations by minimum or maximum timestamps is present, the results should be inclusive.
- If any minimum timestamp is in place, then first result should match the minimum limitation.
- If any maximum timetamp is in place, then the last result should not be after the limitation.
- If the number of results is larger than the allowed maximum, the response should be marked as a PartialResult.