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.