Commit Graph

172 Commits

Author SHA1 Message Date
csoler
028c9f8c07 split lastRecvTimeStamp into two different time stamps: one for last time the file is wrote (or data is received) and one for last activity that is used (and sometimes reset) by ftcontroller when queuing files
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6921 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-12-04 20:26:54 +00:00
csoler
f7a36d65a9 filter out disallowed direct sources from file request source list. Should systematically prevent unwanted direct transfers
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6915 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-11-28 20:53:03 +00:00
csoler
01588f6f53 fixed bug introduced in 6910, due to calling member on deleted mCreator
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6914 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-11-28 19:43:14 +00:00
csoler
830404a25e fixed the bug that caused unwanted direct downloads. A check was missing in ftController::FileRequest
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6911 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-11-27 20:12:16 +00:00
csoler
75c178082f fixed last received time stamp so that it displays the last time data was actually received
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6910 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-11-27 20:01:09 +00:00
csoler
9c4c5da73d Changes according to experiments from jolavilette:
- set desiredRate of peers to 10MB/s instead of 1MB/s
- maximum number of active chunks per peer is now 20 (that was a serious limiting factor)
- ticks that bring no data are not accounted for in the speed estimate anymore. The data is averaged over all ticks since the previous 
 non zero data chunk -> this brings much more stability to sources and removes lots of oscillation.

The maximum theoretical speed per source peer is therefore 13MB/s (in "Average" DL mode), whereas previously it was 1.3MB/s



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6897 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-11-08 21:23:57 +00:00
csoler
580860ca81 removed debug output
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6864 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-10-21 18:09:40 +00:00
thunder2
9095e9bd75 Code maintenance for Qt 5:
- Added some more includes needed by MinGW-w64

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6860 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-10-21 11:00:49 +00:00
csoler
6780ff2cff fixed bug that would cause virtual peers list for outgoing files to never get cleanred up. Also improved cost of updating the status of virtual peers. Many thanks to Jolavillette for finding this out!
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6858 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-10-21 09:05:51 +00:00
csoler
7876001be3 remove three costly loops in ftController
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6833 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-10-15 20:39:13 +00:00
csoler
67517ad074 restore file state when restart (Modified patch from Phenom)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6807 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-10-06 12:56:37 +00:00
csoler
d127d36131 added missing setPeerState that caused tunnels to get stuck to default minimum rate unless the list of connected peers change
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6739 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-09-15 18:27:52 +00:00
csoler
6e8679ff90 automatically put paused files at end of queue (Patch from Phenom)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6642 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-08-28 21:26:27 +00:00
csoler
f6509bef31 only add direct sources that have flag for direct DL enabled
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6412 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-06-06 20:52:24 +00:00
csoler
dc2521cf71 Merged branch v0.5-GenericTunneling into trunk (Rev. 6284 to 6410).
- adds turtle router as a generic tunneling service
- made ftServer a client of the service. Now turtle file items are handled in ftServer
- added new client: p3MsgService to send/recv pgp-encrypted distant messages
- added new client: p3ChatService to perform private (AES-encrypted) distant chat through tunnels.
- The GUI is disabled for now, since it needs some polishing before being fully usable.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6411 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-06-06 19:58:30 +00:00
csoler
9c69ad0500 added a new per-friend flag to allow to seek for direct transfers. Disabled for existing friendds (should be added manually), enabled by default for new friends
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6406 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-06-05 12:57:11 +00:00
csoler
0abb21d962 Added ability for turtle router to take client services
- new class RsTurtleClientService, from which should inherit the services
- turtle serialisation takes client services for deserialising
- added a client to p3turtle::monitorTunnels()
- added a generic turtle item to pass on arbitrary data

Moved ftServer as a subclass of RsTurtleClientService. 
- moved file transfer items that inherited from RsTurtleGenericTunnelItem into a separate file
- moved deserialisation triage into ftServer
- moved sending/receiving methods in ftServer (much less code, much more consistent!)

One bug remains: the TR cannot work as a server.

Changes should be 100% backward compatible.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-GenericTunneling@6293 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-04-06 09:21:01 +00:00
csoler
270abcdc94 - removed _sharing_strategy and the methods that go with it, as its behavior is handled by the sessionEnabled() method
- added generic tunnel data item, along with item priority consts. Serialization still missing.
- added new class for turtle client services, and entry point methods.
- removed file name and file size ffrom _outgoing_file_hashes and _incoming_file_hashes. They are not needed.
- changed some names to more generic ones.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-GenericTunneling@6285 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-04-01 21:18:58 +00:00
csoler
e4c3415ab9 fixed saving of default chunk strategy. Progressive mode was not saved
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6269 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-03-22 12:14:48 +00:00
csoler
4c670e81f0 removed debug output from ftcontroller
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6216 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-03-12 17:44:00 +00:00
csoler
6cb37ac478 fixed debug info
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6209 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-03-11 20:46:18 +00:00
csoler
4f1dda2ffb added new DL mode: Progressive. This is a random mode that ensures no more than 50MB of free space will be written in the file at once. This should effectively remove the lag when initiating a DL on a big file, while keeping enough entropy to ensure a good dissemination of chunks
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6164 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-02-28 20:42:01 +00:00
csoler
5b4739352e added dynamic menu for choosing download directory for files being transfered, and change the name of the destination file
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6156 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-02-27 16:59:16 +00:00
csoler
5646e29357 added auto-check of shared files after each download. If that causes too much activity, we will make this a option that in on by default
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6154 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-02-27 10:03:54 +00:00
csoler
c117078566 removed debug info
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6139 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-02-23 12:53:20 +00:00
csoler
63ceac29d2 suppressed bug due to not cleaning source lists. Would cause transfers to have inconsistent direct sources
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5860 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-20 21:42:21 +00:00
csoler
b2e97407b5 added dynamic addign of direct sources from file lists. Useful for channels. Is called once every 61 seconds.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5850 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-19 22:45:37 +00:00
csoler
786177eaf0 Files being downloaded anonymously are declared as available with flag DIR_FLAGS_NETWORK_WIDE_OTHERS. Fixes bug that prevented swarming to happen
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5795 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-08 19:47:39 +00:00
csoler
5e913feee7 fixed bug of transfers not handled by turtle router. This was due to a change is values of flags. I added a test to update flags from loaded transfer infos to convert them properly. Just restart your RS and your transfers will perform normally.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5794 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-08 19:18:45 +00:00
csoler
e753f22909 fixed flags conflicts
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-FileSharingPermissions@5758 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-02 13:52:29 +00:00
csoler
dc82cee700 First shot of file sharing permissions. Compiles, but needs some testing/debugging.
- added type-safe flags in retroshare/rsflags.h. This should be used to make new flags types in order to prevent mixing flags up in function prototypes.
- group handling is left to rsPeers. We'll move it to rsCircles later.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-FileSharingPermissions@5754 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-01 10:06:12 +00:00
thunder2
569d463f02 Optimized the fill of the up- and downloads in TransfersDialog.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5191 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-01 20:51:14 +00:00
thunder2
ec501c6d6a Fixed issue with lost downloads when RetroShare exits (or crashes) during the load of the file transfer items. The pending list was not saved.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5153 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-05-07 14:54:46 +00:00
thunder2
3718d6ecfa Removed usages of "std::istringstream" and "std::stringstream".
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5135 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-05-03 13:41:03 +00:00
thunder2
9aee68a2a9 Removed some std::ostringstream.
To be continued.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5108 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-04-18 00:00:59 +00:00
thunder2
3b85873313 Added patch from AC
- add missing includes "unistd.h" for compiling with gcc 4.7.0.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5096 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-04-12 23:29:39 +00:00
csoler
08d57e1681 fixed returned value not accounting for tests
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4964 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-02-19 15:04:56 +00:00
thunder2
970d88200d Removed some more compiler warnings from Windows compile (GCC 4.4).
Added -Wextra to the Windows compile.
Added new define in libbitdht for snprintf and fprintf to proper handling of "%ll" under Windows.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4951 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-02-17 10:03:38 +00:00
csoler
8b28fb2324 patch by AsamK to save finished/checking transfers
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4948 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-02-16 22:04:03 +00:00
csoler
c4be65e0ab removed cache adding strategy to DL queue that was O(n^2). Now addign cache at the end of the queue
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4930 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-02-12 20:00:22 +00:00
csoler
1164c66d3a added new variable in config->transfers to allow reserving n slots to non cache transfers
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4775 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-10 23:07:53 +00:00
csoler
4ab319f29e Adjustment of some values for file transfer: some delays can be larger, now that chunks are shared between sources. This makes file transfer more stable:
- FT_TM_DOWNLOAD_TIMEOUT: 10 -> 20 secs (RTT limit of 10 secs is too low -> transfers in long tunnels kept switching between active and inactive)
- INACTIVE_CHUNKS_CHECK_DELAY: 60 -> 240 secs (Chunks are kept longer before beign cancelled, which is now affordable)
- MAX_TIME_INACTIVE_REQUEUED: 60 -> 120 secs.(Transfers a kept longer before being re-prioritized in queue)



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4707 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-12-03 13:39:37 +00:00
csoler
107f64c23f fixed bug asking data to deleted mTransfer
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4677 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-18 08:49:53 +00:00
csoler
4d9727f47a - fixed download priority handling. Proof-tested on multiple DL from the same peer.
- removed dependency of mRateIncrease into measured rtt -> would cause very slow transfers through long tunnels



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4671 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-16 20:30:20 +00:00
csoler
2173ee0d2e fixed bug with anonymous channels asking for friends to be sources
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4632 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-10-06 20:06:25 +00:00
thunder2
363af69254 Fixed utf8 issue in history manager.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4626 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-10-01 13:12:28 +00:00
csoler
97ed1d534f - removed calls to rsfiles->get{Download,Partials}Directory() in RsDiscSpace class, since it would trigger a call to ftController
- added a lock into ftTransferModule::recvFileData() (Crash reported by Costa due to storing data in a deleted transfer module)
- changed names of functions in ftTransferModules to locked_* when appropriate (helps debugging)



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4612 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-09-23 21:08:11 +00:00
csoler
0b33b6fc9d fixed bug fue to deleting ftFileCreator used by datamultiplex before asking datamultiplex to remove it!
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4606 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-09-15 19:33:58 +00:00
thunder2
c6beee44ec Removed unused parameter warnings in libretroshare.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4558 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-08-12 13:42:30 +00:00
drbob
f6f721a492 Removed p3ConnectMgr. Replaced it with p3LinkMgr, p3NetMgr and p3PeerMgr.
Updated references in other classes.
 * Most classes need p3LinkMgr, and only use two functions: OwnId() and getOnlineList()




git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4416 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-09 18:39:34 +00:00