Skip to content

FCPv2 SimpleProgress

DC* edited this page Aug 29, 2020 · 5 revisions

SimpleProgress indicates the progress of a large request (usually a splitfile, a big file which is split across a large number of blocks).

Example

 SimpleProgress
 Succeeded=1027 // we have successfully fetched 1,027 blocks
 Identifier=Request Number One
 Required=6145 // we only need 6,145 of them (because of splitfile redundancy)
 FinalizedTotal=true // the Total will not increase any further (if this is false, it may increase; it will never decrease)
 MinSuccessFetchBlocks=6145 // How many blocks will need to be fetched to reconstruct the file  **only sent on inserts, where Required will equal the total**
 Failed=452 // 452 of them have failed due to running out of retries
 Total=12289 // 12,289 blocks we can fetch
 LastProgress=1592109079721 // unix timestamp of this progress message
 FatallyFailed=0 // none of them have encountered fatal errors
 Global=true // true if the request is on the global queue, false otherwise
 EndMessage

Note that before FinalizedTotal=true, Total may vary wildly on a ClientGet, because we may follow redirects, have to fetch multi-level splitfiles and so on. However, once we are fetching the final splitfile, FinalizedTotal will be set to true. Whereas on a ClientPut, we can't generate the metadata until quite late on, so it takes a long time to set FinalizedTotal=true, but this doesn't matter as the Total will not increase very much (since the majority of the insert is the actual data and check blocks).

Clone this wiki locally