Prototypes are locate here : source:/prototypes. The goal is to write some code to try to resolve a particular problem which we don't know exactly how to solve.

Name Description Status
1. SHA-1 prototype Creating SHA-1 hash for each part of a file. The reference in term of speed is sha1sum from the openssl package. The speed is approximately 150Mo/s for a cached file for an Intel 1.8 GHz Core2 CPU. OK
2. UTF8 prototype Reading and writing files with UTF8 characters in theirs filename. Must be tested for the three platforms : Linux, Windows and MacOSX. lack of MacOSX tests
3. Search prototype Searching into a large set of files and directories with a glob string or a range of size. Measure the average time for about 50'000 files, it should be below one minute for the first search and below 3 seconds for the next searches. OK (Not useful, the search is made in a cache now)
4. UDP prototype Multicast UDP and periodically signal emitting. OK
5. Protobuf prototype Serializing and exchanging message with Protocol Buffers. OK
6. Concurrent prototype Defining and testing the concurrent model for downloading and uploading. Reading and writing the same file from different threads. OK
7. Watcher prototype Observing the modifications of the files structure to hash new added files and remove hash from the cache when a file is deleted. See the class QFileSystemWatcher. 80% (only Windows for the moment)
8. Backtrace prototype Be able to print the stacktrace in case of error in debug mode. TODO
9. Word index prototype Choose and implement a good index algorithm and do some spatial and time measures. OK