Prototypes » History » Revision 35
Prototypes are locate in the '/prototypes' directory in the repository. The goal is to write some code to try to resolve a particular problem which we don't know exactly how to solve.
|1. SHA-1 prototype
|Creating SHA-1 hash for each part of a file. See Libraries for the list of SHA-1 lib. We must find the quickest library. 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.
|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.
|Will not be used -> Standby
|4. UDP prototype
|Multicast UDP and periodically signal emitting.
|Qt doesn't provide UDP multicast, using of broadcast instead. It can be a problem between different subnetworks (vlan).
|5. Protobuf prototype
|Serializing and exchanging message with Protocol Buffers.
|6. Concurrent prototype
|Defining and testing the concurrent model for downloading and uploading. Reading and writing the same file from different threads.
|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.
|Does not exist -> Standby