Commit Graph

347 Commits

Author SHA1 Message Date
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
3f09bdb0b7 removed false warning that come up when openning a non existing file in ftFileCreator.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6896 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-11-07 21:17:18 +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
5b6aa594c6 Code maintenance for Qt 5:
- Renamed CacheData to RsCacheData, MinGW-w64 has already a class with the same name

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6862 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-10-21 12:07:33 +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
887c9ed50e fixed potential uninitialized memory read in PeerUploadInfo
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6697 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-09-06 19:06:56 +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
4868a90d81 patch from Henry morgan to fix soem typos (e.g misspelled connexion into connection)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6460 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-06-24 21:23:50 +00:00
thunder2
a304ffbab7 Fixed some compiler warnings
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6419 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-06-09 17:54:54 +00:00
thunder2
9fcb18553a Fixed crash with Windows compile.
Renamed method "RsFiles::CopyFile" to "RsFiles::copyFile" (lower case) to avoid renaming of "CopyFile" to "CopyFileW" with the newly included "windows.h".

From windows.h
#define CopyFile CopyFileW

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6415 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-06-08 20:03:29 +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
ef2ebcc1d6 removed unused code
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6405 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-06-05 12:55:48 +00:00
csoler
1c3ff8c54b - lots of debugging.
- added missing bits to turtle router for better handling symmetric traffic 


git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-GenericTunneling@6321 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-04-20 18:56:06 +00:00
csoler
f12ad9583d - added functions to add/remove virtual peers in turtle client service
- removed all explicit connections between turtle and FT
- added tunnel and invitation management in p3ChatServer (still needs PGP encryption)



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-GenericTunneling@6300 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-04-10 08:52:52 +00:00
csoler
6760b35ae6 fixed a few bugs related to previous commit
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-GenericTunneling@6294 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-04-06 13:16:54 +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
6121e613eb removed compilation warnings
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6258 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-03-20 20:25:13 +00:00
csoler
2dcc35d979 further remove of debug info
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6247 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-03-19 20:21:20 +00:00
csoler
87842640e1 removed debug output
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6246 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-03-19 20:16:40 +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
400f9f63d8 added/fixed some debug info
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6208 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-03-11 20:44:23 +00:00
csoler
4b9087b60d removed dead-end for peers not answering downloads, that would get file cache transfers to get stuck indefinitly when peers are too much stressed for a short period. The offline state is entirely given by setPeerState()
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6206 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-03-11 20:33:49 +00:00
csoler
4e4e81fa8e fixed uninitialized memory read in debug statement
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6203 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-03-10 22:29:25 +00:00
csoler
4c3905e257 simplified the chunk drawing code a little bit
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6177 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-03-01 23:41:42 +00:00
csoler
1fb605cfa9 fixed stupid bug causing streaming mode to get stalled
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6176 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-03-01 23:16:09 +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
b2214fcd46 removed #ifdef USE_NEW_CHUNK_CHECKING_CODE, since it is enabled by default now. Also removed the use of assume_availablility to put chunks or not in checking mode. This was inconsistent. As a side effect, cache files of size > 1MB get chunk-checked as well, which is good
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6050 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-12-27 21:16:33 +00:00
csoler
66207b81e5 - made the names consistent between ftdata, ftdatamultiplex and tests/
- added missing virtual functions in ftDataRecv
- setup initSSL instance as a static member of AuthSSL, instead of an external (does not change much except the init in rsinit.cc)
- changed p3PeerMgrIMPL to take SSL and PGP ids as parameters. This avoids calling AuthSSL and AuthGPG from the constructor => very helpful for tests.
- added random creation function in t_RsGenericId<>
- added functions setAuthSSL_debug() and setAuthGPG_debug() to manually setup the authSSL and authGPG objects to use. Used in tests.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6035 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-12-26 18:12:19 +00:00
csoler
bc65dd40c2 - Restored compilation of most tests (The part using previously named p3ConnectMgr is still to be done).
- moved ftSearchDummy and ftDataSendPair in tests/ft since it is only used there.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6009 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-12-17 23:05:25 +00:00
drbob
069b72e0b2 Merged branch v0.5-gxs-b1 into trunk (from -r 5351 -> 5995)
This brings a huge amount of goodness into the trunk,
but there is still a big chunk todo before it can be released.

 * GXS Backend.
 * GXS Services:
	- Identities.
	- Circles
	- Photos
	- Wiki
	- GxsForums
	- Posted.
 * SSH no-gui server.

See branch commits for more info.

To switch on GXS stuff, enable CONFIG += gxs
in both libretroshare.pro and retroshare-gui.pro



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5996 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-12-16 19:17:11 +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
d3a3efd492 added additional checking of incoming compressed chunk map, in case the data is currupted, which might happens with a corrupted ft_transfer.cfg file.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5816 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-13 20:13:09 +00:00
csoler
454daf1981 Iproved file list handling:
- Implemented correct cacheData send to clients usign constant subid value.
- At start, the association between peers and available file list is always recomputed
- overloaded cacheAvailable() and refreshCache() in FileIndexMonitor
- added callback in rsFiles to force re-generating cache items when group layout has changed
- force re-sent file lists when moving peers between groups in the GUI
(Fixes group leaking problem) Needs full recompilation of libretroshare.


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5813 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-12 22:51:27 +00:00
csoler
f61a50c5a6 fixed permission of drap+dropped files. all attached files get added to extra list, but with different permission flags depending on the client. From that, we compute sharing permissions : turtle, or direct transfer only
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5808 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-11 21:17:00 +00:00
csoler
ab26059570 added missing mutex in destructor of ftFileProvider. Probably responsible for some random crashes
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5802 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-11 10:29:03 +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