summaryrefslogtreecommitdiff
path: root/plugins/CopyEngine/Ultracopier/documentation.dox
blob: 5a0fbf641c8a4b5ab65e056bd062abb716198b25 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/* -*- mode: C++ ; c-file-style: "stroustrup" -*- **/

/*
  This file contains NO source code, just some documentation for doxygen to
  parse.
*/

/*!
  \mainpage Copy engine

  \section mainpage_overview Overview

  The default copy engine for Ultracopier. Support file/folder, copy/move, ...\n
  More informations on <a href="http://ultracopier-wiki.first-world.info/">the wiki of ultracopier</a>.

  \section mainpage_platforms Platforms

  This plugin might be usable in all environments where you find Qt 5, but Gcc is requiered for some part. You need qtsystem modules for QtSystemInfo\n
  This plugin requires Qt 5.0 or newer. Tested on Qt 5.0.\n

  \section mainpage_downloads Downloads

  You can find the link on <a href="http://ultracopier.first-world.info/">Ultracopier</a> project page, via git, snapshot sources, ...

  \section mainpage_algorithm Algorithm

  Like say previously you will have more informations on the wiki.\n
  Then file transfer is done via pipe mecamism system:\n
	<ul>
	<li>push at no blocking into table up to the table is full, after is blocked up to one entry is free</li>
	<li>Other thread read the table up to have no more data, then is blocked</li>
	</ul>
  The transfer thread do listing of the folder, removing folder, make folder is one thread for each.\n
  The transfer list, have thread pool to do the inode operation (open, close, set date, ...). Do all inode operation in parallele, but transfer the data as sequential.

  \section license GPL Version 3
  The code source is under GPL3. The image is extacted from Oxygen icon pack of KDE4.

*/