Persistent data » History » Revision 17
Revision 16 (Greg Burri, 03/04/2011 09:17 AM) → Revision 17/18 (Greg Burri, 03/17/2011 12:16 AM)
h1. Persistent data h2. Files cache This file contains all the shared files and theirs SHA-1 hashes. This file is saved in user space after an update of the file list, it is completely loaded at the start of D-LAN. Aybabtu. If some paths of some files doesn't match the shared directory they are discarded. This file is saved as a binary file serialized by protocol buffer. You can see the proto file here : source:/application/Protos/files_cache.proto h3. Size Here is a size approximation for 50'000 files stored in 1 TB. The overhead of the file format is not taken in account. <pre> Nb of files : 50'0000 Total size : 1 TB Chunk Size : 32 MB Average file per directory : 50 Average filename and dirname length : 50 char Size of a hash : 20B </pre> <pre> AverageFileSize = 1*1024^4 / 50'000 = 21MB Sha1Size = floor(AverageFileSize / 32MB) * 20 * 50'000 = 1 * 20 * 50'000 = 977kB FilenameSize = 50'000 * 50 * 2 = 4.8MB (2 bytes per char) DirnameSize = (50'000 / 50) * 50 * 2 = 97kB TotalSize = 977kB + 4.8MB + 97kB = 5.9MB </pre> h2. Queued files and directories A file containing the queued files and directories is saved in user space. An item from the list may contains a remote peer id and/or the hashes which identify a file. As the file cache file (see above), this file is saved as a binary file serialized by protocol buffer. For more details see the file : source:/application/Protos/queue.proto h2. Configuration file h3. Core side here are the persisted data : * The nick * The peer ID As the other data described above these data are saved as a file serialized by _Protocol Buffer_ but in a human readable form. For more details see the message _Settings_ in file : source:/application/Protos/common.proto h3. Client Side here are the persisted data : * Core address * Password for remote core