Commit Graph

47 Commits

Author SHA1 Message Date
csoler
1e28183c2d changed minimum chunk size to 1KB/s and max desired rate to 10MB/s
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3796 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-11-14 21:38:12 +00:00
drbob
7203229126 Cleaned up Transfer debug, now that we've found the windows bug.
* new uniform #define DEBUG_TRANSFERS to switch on packet timings.
 * switched off by default.
 * enabled BinData printing again.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3785 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-11-13 11:46:17 +00:00
drbob
06273fa775 Hackish changes to debug Windows Transfers...
Committing these so others can run tests.
Most of these changes will be removed once the problem is fixed!
 * Fixed formatting of various serialiser item::print() fns.
 * Disabled printout of TlvBinaryData - data.
 * added AccurateTimeString() function to util/rsprint.cc
 * print serialise / deserialise of FileRequest & FileData + Timestamps.
 * added print + timestamp in ftFileProvider::getFileData()
 * #define TRANSFER_DEBUG to isolate these changes.
 * enabled debugging in fttransfermodule.cc



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3779 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-11-11 20:51:17 +00:00
csoler
af8ad4e862 removed the "emergency shutdown" feature in tickPeerTransfer(), that would stuck some transfers on the lowest rate 128 B/s. On my tests this emergency shutdown is never needed.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3676 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-10-16 21:09:48 +00:00
csoler
47b48769e4 simplified the code in the post download CRC check routine and removed a potential bug.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3574 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-09-30 21:02:37 +00:00
leander-256
4bb4fc11e2 This intimidating patch renames libretroshare/src/rsiface/ to
libretroshare/src/retroshare/

All the relevant headers have been modified to reflect that change.

This allows installation of libretroshare on a system, headers will
be put in $WHEREVER/retroshare/ and we keep the ability to compile
against them, be it on the system or in the SVN tree.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3342 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-06 09:40:23 +00:00
csoler
1069ed0c58 - corrected 1 bug in serialisation of CRC32Maps for peer transfer
- corrected 1 bug (missing hashing thread deletion on failure)


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3321 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-30 21:01:51 +00:00
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
drbob
648e15bcf7 Found cause of OSX network resets / lost connections: inet_ntoa is not thread-safe.
* Added thread-safe rs_inet_ntoa function (util/rsnet.cc)
 * Switched all calls to this function (most of the changes)
 * Modified getLocalInterfaces() and getPreferredInterface() to avoid string conversions.
   - NB: Modified windows functions too, but unable to test (hope it compiles!)

Also:
 * Added  EVP_CIPHER_CTX_rand_key() replacement function for old versions of SSL (pre 0.9.8)  (for OSX 10.5)
   - NB: This code should be reworked to remove these calls anyway.
 * Updated tests/pqi to handle above changes.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3281 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-10 20:34:03 +00:00
csoler
fbd8a33db0 added display of checking stage in GUI (at end of transfer). Gave names to the states in ftTransferModule. Added a flag for ForceCheck files (not functional yet)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3274 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-09 21:04:29 +00:00
csoler
458a8faf70 - implemented post-download hash re-check. For now, if the hash does not match, the download is canceled, but in the near future, per-chunk comparison wil occur
.
- corrected a bug that caused file copy error: a closeFile() was missing when the file is complete. Because of delays in fwrite, the file would not be always co
mplete, nor exist at all for small files (e.g. cache files), which in the later case caused the copy error.

Warning: needs a make clean in libretroshare to recompile.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3261 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-06 05:04:11 +00:00
csoler
cc17744ee3 ported branch v0.5.0 commits 2529 and 2544 to trunk
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2545 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-03-15 12:57:08 +00:00
csoler
851e9069f6 corrected compled completion and file progress issues
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2356 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-17 22:10:12 +00:00
csoler
365ef569dc suppressed some uninitialised memory reads
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2267 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-09 20:31:49 +00:00
csoler
e08d13397a fixed a completion issue in FT
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2174 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-02 22:15:42 +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
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
211acc6adf suppressed file download memory leak
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1294 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-06-11 08:09:08 +00:00
csoler
48218e98cb turtle tunnel management
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1289 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-06-03 18:47:14 +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
csoler
78c07ca367 Turned RsInit into a static class, and changed retroshare invite so that it does not contain signatures anymore.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1022 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-02-08 14:30:28 +00:00
drbob
d89eda510f * switched off some debugging.
* fixed tickrate slow down (when no activity)
 * added extra flags to interface.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@871 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-12-07 14:53:57 +00:00
ewensun
00a0fdfbbf add code for cancen file transfer
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@854 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-11-29 22:03:36 +00:00
drbob
83720439f0 Updated version numbers to v0.4.11b.
Bugfixes for 'sleep' issues under windows.
 Extra debugging for transfer module.
 Fixed channel directory creation. (extra 'break' statement)
 Fixed very slow transfers on Windows platform (uninitialised variable)
 Ready for win/linux/osx release now.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@830 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-11-22 17:07:11 +00:00
drbob
c46b823261 * fixed, transfer start when subscribing to channel.
* cleaned up p3distrib callbacks.
 * added holdQueue for transfer startup in controller. 
 * fixed partial resume.
 * updated Mac script to only build library.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@828 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-11-21 00:10:59 +00:00
drbob
7c596231e1 Improvements to the file transfer algorithm.
Increased max individual file speed to 1MB/s



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@826 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-11-19 01:12:21 +00:00
drbob
c60cf84e95 * Switched off lots of debugging.
* Tweaks to the transfer rates.


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@824 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-11-18 21:22:58 +00:00
drbob
fce83cb232 More bugfixes ... got the basic channels file transfer working.
* Create channels directory correctly.
 * added File Transfers to Config List.
 * connected statusChange() monitor callback.
 * fixed file sources in transfermodule.
 * fixed up transfer restarts / sleeps.
 * enabled opening files read only.
 * disabled some of the debug.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@799 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-11-13 23:03:46 +00:00
drbob
aee6cb85b4 * More bugfixes for file transfer.
* Added File Transfer / ExtraList to channels.
 * fixed mutex deadlock.
 * added slow transfer for background tf.
 * added checks to FileRequest to accumulate peers.
 * added ExtraList callback.
 * etc, etc.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@797 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-11-09 22:17:20 +00:00
drbob
80f4686100 Bugfixes and extra debugging for file transfer.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@791 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-11-04 23:12:53 +00:00
drbob
0d96b43d34 Enabled new File Transfer Code in libretroshare.
NB: This is not yet working. so SVN is now officially broken :(
Hope to have the bugs ironed out soon.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@782 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-11-02 11:38:11 +00:00
drbob
88ef2e0e34 Major bugfixes and testing changes for ft.
It is now almost ready for integration with rs.

Added ftserver3test.cc which successfully tests:
	* Hashing of a directory.
	* Transfer of Cache Files.
	* Local Searching.
	* Remote Searching.
	* Download from multiple sources.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@773 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-10-29 20:58:23 +00:00
drbob
ef9bb372b4 re-wrote ftfileprovider / ftfilecreator to be more simple and robust.
re-wrote associated tests to be more robust.
added new fttransfermoduletest.cc 



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@760 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-10-22 18:12:58 +00:00
ewensun
e8d21abdd5 ftFileStatus contruct failure
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@726 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-09-10 14:12:13 +00:00
ewensun
3af7d41d7f solve compile faults.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@725 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-09-09 13:08:22 +00:00
ewensun
86ffedb50d small updates for fttransfermodule.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@723 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-09-09 07:24:06 +00:00
ewensun
7b609a6aea implement cancelTransfer and update transfer module for debug log
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@722 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-09-08 14:04:10 +00:00
ewensun
9b0bfb26c2 add fileControl and fileCancel code in ftController
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@720 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-09-08 08:44:37 +00:00
drbob
f7fca4295b Improvements/bugfixes to File Transfer.
* Lots more debugging messages.
 * Fixed Sleep / sleep issue on windows.
 * added pthread / WSAStartup.
 * added ownId to ftDataMultiplex for loopback file transfer.
 * now start ftDataMultiplex thread.
 * several bugfixes in ftfilecreator



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@710 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-08-30 01:07:24 +00:00
drbob
f243e5f6d3 * Added lots of debugging.
* Partial bug fix for allocate algorithms.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@706 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-08-23 21:28:08 +00:00
drbob
7b7446c5b5 More bugfixes for file transfer stuff.
* Completed 2 basic tests (ftserver1test & ftserver2test)
 * Updated test notes.
 * debugging stderr output. 
 * fixed return code in ftfilesearch.cc
 * corrected ftcontroller run() to call fttransfermodule::tick()
 * fixed ONLINE status for OwnId (ftcontroller too)
 * corrected message sources for test harness.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@705 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-08-21 21:30:59 +00:00
drbob
eb8dacc798 Integration of ft into a working system.
* Made ftTransferModule compile.
 * bugfixes to make ftserver1test work.
 * New P3Pipe / P3Hub ...
 * Added Test Notes.
 * First functions added to ftcontroller
 * added isOnline to p3ConnectMgr.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@698 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-08-17 15:23:11 +00:00
ewensun
6f1a6e78cc fill adjustSpeed and recvFileData
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@664 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-08-06 04:12:36 +00:00
drbob
5c6e558942 More Improvements to FileTransfer:
* Added TlvShallowClear() to serialisers
 * Added RsQueueThread for periodic queue processes.
 * Completed ftDataMultiplex which replaces ftServer/ClientModules.
 * Added Server Queue / Thread to ftDataMultiplex.
 * Added ftdataplextest to exercise ftDataMultiplex.
 * Generalised ftFileSearch to handle an array of ftSearch classes.
 * Tweaked rsfiles.h #defines to match new ftFileSearch scheme.
 * Added Generic ftData Interfaces for Testing.
 * added ftDataSend/Recv Interfaces to ftServer + ftDataMultiplex respectively.
 * Completed much of ftServer (External Interface), but not yet done.
 * Extra debugging and small changes to ftExtraList
 * Integrated new ftTransferModule with minor interface changes.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@660 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-08-03 12:45:53 +00:00
ewensun
9a4fc54943 draft version for implementation of transfer module.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@652 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-07-29 15:18:27 +00:00