This is still missing a few things but I think it's ready for a first round of reviews. It should be pretty much done except for:
Updating timestamps
Setting ownership information
Something we should think about is how to make sure the redundancy/availablility reporting remains correct after changing the file format. Since we no longer store the file contract but only the public key of the host and since we don't remove the hosts from the sia file's host table, we don't know if a piece is supposed to be stored on a host. All we know is, that at some point in time a piece was stored on a host.
Another thing I have not yet decided on is when to update the 4 timestamps (modTime, changeTime, accessTime, createTime). Right now my guess is, that createTime, modTime, and changeTime would mostly stay the same until we add modifying files as a feature.
accessTime would probably updated every time we download a file.
This is still missing a few things but I think it's ready for a first round of reviews. It should be pretty much done except for:
Something we should think about is how to make sure the redundancy/availablility reporting remains correct after changing the file format. Since we no longer store the file contract but only the public key of the host and since we don't remove the hosts from the sia file's host table, we don't know if a piece is supposed to be stored on a host. All we know is, that at some point in time a piece was stored on a host.
Another thing I have not yet decided on is when to update the 4 timestamps (
modTime
,changeTime
,accessTime
,createTime
). Right now my guess is, thatcreateTime
,modTime
, andchangeTime
would mostly stay the same until we add modifying files as a feature.accessTime
would probably updated every time we download a file.