- 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
- 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
- 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
Combined the two methods for share and unshare of the download dir.
Added share incoming directory to the QuickStartWizard.
Recompile of the GUI needed.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4089 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Sort the ChanMsgItems of the channel by date
ChanMsgItem:
- Fixed adding all files (SubFileItem) again by pressing the unsubscribe button (only in Friend Storm)
- Enable unsubscribe button only when channel is subscribed (only in Friend Storm)
- Fixed adding files with umlauts (utf8) on Windows
- Enabled Download and Play button in ChanMsgItem, when they are enabled in the SubFileItems
ftServer:
- Added the method alreadyHaveFile for use in the GUI - recompile of GUI needed
SubFileItem:
- Added state strings like LOCAL, REMOTE, ERROR, ... for translating
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3614 b45a01b8-16f6-495d-af2f-9b41ad6348cc
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
- 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
- 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
- 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
- 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
The side effect is that even when stopped, downloads show the correct downloaded size (up to the size of one chunk).
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1865 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- 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
* 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
* Enabled config in p3file-startup.cc
* Enabled resumeTransfers
* Added new RsFileConfigItem to serialiser.
* extended ftFiMonitor to use Configuration.
* bug fix to add/remove Shared Dirs.
* Increased Channel/forum periods to 3/12 months.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@806 b45a01b8-16f6-495d-af2f-9b41ad6348cc
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
* 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
* 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