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.