Commit Graph

66 Commits

Author SHA1 Message Date
csoler
012808ea00 - Implemented CRC32 map traffic through direct downloads
- replaced the findItems() call into a hand-written search (this was causing a rare bug in displaying downloads)


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3318 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-29 21:07:07 +00:00
csoler
cee8600a93 - implemented bidirectional exchange of chunk maps for direct downloads, to allow showing proper completion of transfers from direct friends.
- moved the direction flag upward in the pipeline (ftDataSend instead of p3turtle)




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3313 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-25 19:04:31 +00:00
csoler
8bfc74485a First implementation of per-chunk CRC32 check. This is triggered
- by the right-click+Force Check on files.
- when a global hash on a downloaded file does not match the announced hash.

When a CRC map check is ordered, the CRC map is requested to one of the sources for the current file download.
When received, all downloaded chunks are checked w.r.t the reference CRC and marked as not done if the CRCs do not match.
The exchange of CRC32 map and requests has been tested, as well as CRC map checking during download (force check).

To be implemented soon:
    - caching of CRC32 maps (although these are fast to compute)
    - CRC32 map packets for normal downloads. For now these work only for turtle tunnels.
    - handling of errors if the CRC never comes. For now, the download will stay stuck in "Checking..." mode.

So, don't play too much with the force check feature for now...





git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3310 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-21 23:14:10 +00:00
csoler
7b0757c4bc Merged branch commits:
3068: added verification for file size computation (bug correction)

3069: set heartbeat values to intermediate values

3070: suppressed uninitialised memory read

3071: automatic removal of file lists from deleted peers, at restart (After
      double check that this does not alter exchange of file lists in any way)



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3072 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-05 19:16:39 +00:00
thunder2
334c9b61d3 moved rsGlobalShutDown from MainWindow::doQuit to main
rsGlobalShutDown now cleans the threads and some memory on exit

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3028 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-29 15:14:25 +00:00
csoler
0634e461fb implemented a safety check for low disc space, and safe drop of disk access if too low
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2968 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-21 20:49:48 +00:00
csoler
6fee3eeeb7 corrected bug about persistence of default chunk strategy
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2817 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-04-30 21:07:21 +00:00
csoler
b000245ef5 merged branch 0.5.0 commits 2576, 2579, 2581-2583 into trunk
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2592 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-03-21 21:07:12 +00:00
csoler
9e469d8baf Added proper dl queue behavior
- suppressed old DwlQueue class
	- turned mDownloads into a list of pointers to allow easy cross-info update between queue and std::map of downloads
	- added queue functionality for moving files top/bottom/up/down
	- added the necessary functions in rsFiles

Put back display of exact sizes in FileTransferInfoWidget

Suppressed some warnings.

**Warning**: this commit requires a make clean.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2493 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-03-06 23:29:47 +00:00
csoler
154ef63474 removed potentially harmful code. Warning: needs make clean in libretroshare
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2335 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-15 20:44:37 +00:00
csoler
9753b47576 suppressed bug in creation of cache directories
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2275 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-10 20:32:21 +00:00
defnax
96caa40895 fixed windows compile
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2241 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-08 17:38:57 +00:00
csoler
3621ef4a95 resurected error msg window. Added a check for file hashes in FileRequest() to detect issues with badly formed file links
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2230 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-07 18:10:12 +00:00
csoler
2521431afa reverted last change on packet size. Seems to screw the convergence of speed. We need to tweak that a little more
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2221 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-06 22:27:44 +00:00
csoler
93aa334219 setup chunk slicing in FT to 32K instead of 8K. Seems to work perfectly, and faster, since TCP slicing is less likely to waste packets when the size is not a multiple of the TCP slice (1500 bytes?)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2210 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-05 23:10:32 +00:00
csoler
b592bdac62 added return statements is functions that missed one
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2137 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-27 08:24:39 +00:00
csoler
7fd5c7ad4b restaured priority queue methods, and made better context menues.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2135 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-26 23:25:00 +00:00
csoler
a70b106005 - added NETWORK_WIDE flag to remote dir model download
- added file priority strategy based on which files are requested first. This provides:
	- equal file speed for files with equal (source,priority)
	- effective priority speed for file of same source but different priority
- removed state variable load/save from turtle, as it's not needed anymore (FileRequest re-opens tunnels as needed)
- manage availability per peer instead of per file type: direct peer ids always assume file availability, while turtle tunnels don't

I still need to make the download queue work, and code this gui for it.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2133 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-26 20:40:21 +00:00
csoler
e70e995894 added functionnality to complain when a download is initiated over a file already in download, or in the HD
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2055 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-16 15:42:26 +00:00
joss17
9976b80566 remove the ssl cert storage. Big rewrite of ssl cert and friend management
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2017 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-13 21:22:52 +00:00
joss17
a0a64fb588 make it compile
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2002 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-13 20:58:58 +00:00
joss17
c23407cae3 get rid of p3authmgr
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2001 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-13 20:56:55 +00:00
csoler
96147a9734 added flags to file request: RS_FILE_HINTS_ASSUME_AVAILABILITY to not wait/ask for chunk maps. Used for cache transfer and also whenever the turtle traffic is not involved, such as chat file exchange, and RS_FILE_HINTS_NETWORK_WIDE to force using turtle routing for traffic. Also moved turtle tunnel start/stop orders from ftServer to ftController
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1995 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-11 22:38:18 +00:00
csoler
cfaaec31c7 - Implemented chunk-based file transfer from partial sources. This in particular means:
- exchange of chunk availability maps from different peers
    - correct handling of what is available to which source before asking the data
    - correct display of chunks in the progress bars
    - generalised the use of compressed chunk maps
    - removed the size parameters from the hash search functions
   
- In addition:
    - suppressed a number of per-value transfers of std::string
    - improved the FileTransferInfo Widget, to show some additional info

Still to be done:
    - chunk map exchange for non anonymous traffic (easy)
    - improve accuracy of completion for uploads (for now it's a integer number of chunks)
    - check compilation on windows




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1993 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-11 16:00:42 +00:00
csoler
b83e894640 - added a generic RsItem to the turtle router and the methods to route it. This makes the code much more elegant.
- suppressed a cross mutex lock bug that happened rarely while digging tunnels
- changed FileDetails in ftServer so that it's now possiblt to search for hashes of files being downloaded
- improved the search code in ftdatamultiplex
- added some comments to the turtle code



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1964 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-02 21:30:19 +00:00
csoler
f4a2eaecce - implemented a visualisation for currently handled chunks, availability maps, and transfer info
- implemented transfer protocol for chunk availability maps between peers (not enabled yet though)
- suppressed rsiface directory from retroshare-gui
- moved notifyqt.{h,cpp} to gui/

next moves: 
	- send availability maps to clients; 
	- connect turtle search to unfinished files;
	- test multisource download with unfinished files.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1939 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-12-28 21:11:00 +00:00
csoler
25a09900e9 - Added a ChunkMap class responsible for allocating new chunks to be downloaded, according to
- a given chunk strategy
	- the availablility map of each source 
- Integrated this into ftFileCreator
- added gui menu in file transfer+right click to change the chunk strategy: streaming vs. random

Next step: 
	- loading/saving file downloading state and availability map
	- displaying chunk details in the selected transfer tab (e.g. list of currently worked chunks, and their current downloading completion)



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1863 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-12-08 22:29:52 +00:00
csoler
e88d2c1928 Added consistent display of chunk map
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1837 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-11-18 23:02:37 +00:00
csoler
506f14eb2f - Added a parent page widget (class RsAutoUpdatePage) to handle auto-update. The page updates using a timer, only wh
en visible, and each time it gets showed. I already made some RS pages derive from this page.
- Modified and renamed the taskGraphPainterWidget to display info about currently selected file transfers. For know, it only shows file chunks info, but we should use it to display additional info about the transfer. Warning: in its
 current state, only fake chunk info is displayed.
 - Suppressed p3files.h, because it is not used.

 Remains to do (in order):
 - Implement a chunk map class in ft/ to properly manage which chunks should be downloaded 
 - Display correct chunk info by requesting the transfer's chunk map
 - Add check-sum verification of chunks
 - allow RS to import a partially downloaded file by force re-checking chunks
 - Add chunk map exchange from file source peer id to file destination peer id.
 - Manage chunks from different peers.
 - Allow search (turtle search) for partially downloaded files 



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1832 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-11-17 12:45:06 +00:00
csoler
95a577ccd0 Integrated turtle download to all kind of user-requested downloads
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1625 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-09-09 20:14:43 +00:00
alexandrut
10d44a15b8 -add support for searching and display directories
-downloading directories from search dialog not implemented yet
-needs more code clean and beautify the directory tree

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1566 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-08-25 20:49:50 +00:00
csoler
3c09b4f2d2 added regexp search to turtle router
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1564 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-08-25 12:04:43 +00:00
csoler
2807a778e8 ensured early creation of cache directories to avoid "Cannot copy file" bug
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1521 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-08-11 20:00:08 +00:00
csoler
cb5f22a5c6 Share Flags
- now, only files with the NETWORK_WIDE flag are searchable by turtle hopping.

	Next move:
	    - integrate turtle search in default gui.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1512 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-08-10 19:44:45 +00:00
alexandrut
339fcd53ed add persistence to download queue
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1510 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-08-10 19:01:27 +00:00
csoler
792ddf1d25 Share Flags
- own directory browsing is now done through FileIndexMonitor. This allows:
	- to browse shared directories independently of their flags
	- to update files as they get hashed (yeah!)
- still to do:
	- turtle requests should respect the share flags



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1507 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-08-09 20:00:25 +00:00
csoler
f9dc3b223b Started implementing flags to handle the sharing mode.
What works:
- the gui shows the flags in ShareManager
- the flags are loaded/saved to ft_shared.cfg and passed on to FileIndexMonitor
What does not work yet:
- the flags are not accounted for yet by FileIndexMonitor

In addition:
- simplified the directories dialog in Preferences, so that it calls the ShareManager instead of dupplicating the directories management 
code that becomes larger.
- setup the ShareManager to be a singleton, so as to coherently call it from different places.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1486 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-08-03 19:43:52 +00:00
alexandrut
e68d874406 *redesign of dwl queue - dwls will be enqueued and picked from there;
*changes to display the dwl queue in the transfers dialog 

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1447 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-07-28 10:21:19 +00:00
alexandrut
c7ecf8c46d add implementation for priority download queue
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1432 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-07-26 15:00:29 +00:00
alexandrut
990ed277bd share of incoming directory by default
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1359 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-07-12 13:22:31 +00:00
csoler
1046bdd846 First commit for the turtle download. It works without perturbating RS traffic, but still needs some (internal) smoothing
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1275 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-05-26 21:42:45 +00:00
joss17
e34173759e timeout on fil index cache transfer \n Set fileIndex cache transfer timeout to 300sec \n Remove the downloads item for file index cache transfer
Merge branch 'fiIndexCacheTransfertImprove'


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1180 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-05-06 20:48:32 +00:00
csoler
7b84b125df turtle search is now working. Next task: update search gui
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1078 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-03-15 22:45:40 +00:00
csoler
98911955d5 Possibly got rid of this core dump in file uploads. It seems it came from unlocked destroying of dataplex->mServers when they came out of time, while the gui still asked for info about them.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1030 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-02-09 20:26:12 +00:00
csoler
896fc45a22 small fix to upload transfer rates
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1017 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-02-06 20:42:01 +00:00
csoler
3012683143 Corrected two nasty bugs in file transfer which caused random core dumps (at least on ubuntu 32 and 64 bits)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@957 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-01-26 18:55:33 +00:00
csoler
80a8b41d66 Added a display for file hashing activity using notifyQt class. This time it works nicely.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@938 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-01-22 21:06:54 +00:00
ewensun
812cdd6bd6 time out unused uploads
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@932 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-01-18 04:00:24 +00:00
csoler
6d6901e6e9 added a callback to fimonitor to be able to keep track of file hashing
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@909 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-01-04 20:28:48 +00:00
drbob
b3a0d30bbc Small fix to universal script and some extra debugging.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@874 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-12-07 17:51:11 +00:00