Operation to retrieve a single file from a collection.
A GetFile request is based on the fileID of the file that is to be retreived from a collection.
The pillar serving the request, must place the file on the file exchange at the location requested by the client. When the pillar has completed the delivery and sent the final response the client can get the file from the file exchange.
The client is in charge of cleaning up on the file exchange after the GetFile operation.
As part of a progress response during a GetFile operation the pillar can choose to deliver the size of the file so that the client knows how large a file is to be expected.
As part of a progress response during a GetFile operation the pillar can choose to deliver the checksum of the file so that the client can verify that it is the correct file is received.
The GetFile request supports requesting only part of a file, for use in situations where the whole file is not needed, e.g. for streaming or saving bandwidth.
The request of a partial file is done with a offset and a length.