69 Commits

Author SHA1 Message Date
csoler
a2c11f97c2 added packet reconstruction and deserialising 2016-04-24 13:43:34 -04:00
csoler
cad8c89746 added packet slicing in pqistreamer 2016-04-23 17:10:25 -04:00
csoler
e82c217cd2 half-implemented packet slicing (QoS part done) 2016-04-20 22:42:09 -04:00
csoler
fc725b03a8 added some debug info to pqistreamer 2016-04-19 22:04:30 -04:00
Cyril Soler
a52bd98d4b fixed potential div by 0 in speed estimations. To be tested. 2016-04-11 10:10:10 -04:00
csoler
a5044bd71c improved calculation of speed in pqistreamer (was called before only when sending bytes), and prevented situation where no HB is received by the connection is not reset because last HB is 0, causing ghost connected peers in GUI 2016-04-09 14:48:05 -04:00
csoler
3554e48c7e output packet error with some details (inspired by Phenom-PR289) 2016-04-03 11:38:53 -04:00
csoler
bb260696ce attempt at fixing negative bw rates in GUI that may pop up when an error is present in the SSL stream (e.g. when a peer disconnects/reconnects) 2016-03-02 19:00:51 -05:00
Cyril Soler
96f3446aa7 added size limit to packet grouping 2016-01-13 11:13:23 -05:00
csoler
d55993d1e4 removed two instances of malloc(0) captured by new rs_malloc funtion 2016-01-12 21:43:04 -05:00
csoler
d13526facd added a new method rs_malloc that checks its arguments and prints a stacktrace on error/weird call. Changed the code everywhere to use this instead of malloc. Removed some mallocs and replaced with RsTemporaryMemory 2016-01-12 21:10:11 -05:00
Cyril Soler
9fd0fc54cc fixed bandwidth measurement in pqistreamer 2016-01-05 11:44:05 -05:00
csoler
ea137adc42 fixed compilation on OSX pb in pqistreamer 2015-12-20 19:07:04 -05:00
csoler
141b799c9d removed debug info 2015-12-19 21:20:25 -05:00
csoler
82d43eb8a0 fixed a few bugs in packet packing in pqistreamer. 2015-12-12 23:07:33 -05:00
csoler
f6a84aa4ad added packet packing in pqistreamer. To be tested for improvement in bw 2015-12-12 11:52:48 -05:00
csoler
2a47095599 removed unused method for OutQueue statistics; improved BW curve display; fixed a few display bugs 2015-07-31 17:24:19 +02:00
csoler
989f80786e saving current work on new bandwidth display. Still need to add names for services/peers, and use an appropriate curve style
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8608 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-07-13 03:04:36 +00:00
csoler
9471a91795 added basic functions to collect bandwidth info in pqistreamer both ways; added a sorting method in BWGraphSource to create curves from extracted BW info. Still not yet functional
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8600 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-07-12 04:04:18 +00:00
electron128
ee68d00376 pqistreamer: only allocate incoming buffer when needed, free incoming buffer when not needed anymore
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8115 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-04-04 09:58:53 +00:00
csoler
ea5b923428 added very basic display of outqueue statistics in BwCtrlWindow. Removed unnecessary list::size() calls in pqistreamer
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7652 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-10-31 21:24:42 +00:00
chrisparker126
0f29d28b1b merge of branch v0.6-idclean 7180
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7187 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-03-17 20:56:06 +00:00
drbob
c0738eec7f Merging branches/v0.6-initdev into trunk.
These split at 6672 -> 7075, so quite a bit merge.
libretroshare compiles - but untested.
retroshare-gui needs GenCertDialog.ui and IdEditDialog.ui to be properly merged. (compile errors).
some plugins will be broken.
retroshare-nogui is untested.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7078 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-02-01 14:16:15 +00:00
csoler
630824aa1b Updated the notification system. Main changes are:
- the notification system is now a service, p3Notify, that is a public RsNotify.
- RsNotify does nothing except providing a registration system for new notify clients.
- Clients should derive a notify client from the NotifyClient class and register it to rsNotify
- all registered clients get all notifications, so only derive the needed methods. This should allow 
  plugins to get notifications as well.
- updated the code to call RsServer::notify()->[notification method] from inside libretroshare
- pqiNotify has been removed.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6996 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-01-07 22:51:22 +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
3a82fffd0e - fixed bug (added missing call to addSerialType())
- removed unused RsFileTransferCacheRequestItem and all related functions
- fixed bug in turtle router calling members of a deleted item
- removed some debug info
 


git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6789 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-10-02 19:56:01 +00:00
drbob
b587301b5a Added a thread per active peer - to reduce RTT and increase throughout.
* Added pqithreadstreamer, tweaked pqistreamer to support derivation.
 * Shifted RTT from p3Service to p3FastService.
 * Disabled lots of debug.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6787 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-10-02 03:21:04 +00:00
drbob
a7dd9ad9e3 Work-in-progress to reduce latency time:
* service->SendItem() now goes direct to pqistreamer buffer.
 * split p3FastService out of p3Service.
	p3FastService removes the recv buffer for faster processing.
	p3Service maintains its original interface, so derivate classes can remain unchanged.
 * Added uint32_t usec (wait period) to BinInterface.moretoread() & cansend() for future threading.
 * Added Mutex protection to pqistreamer, pqissl and derivatives of both.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6783 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-10-01 10:11:34 +00:00
csoler
8e7fe9f79b made file transfer a service. Removed all the old FT code from pqiHandler, and got rid of deprecated CRC32 computation/exchange methods
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6782 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-10-01 08:11:15 +00:00
drbob
77edd3e013 disabled all rslog calls in p3dhtmgr.cc with #define,
and unnecessary debugging rslog messages in pqistreamer.cc



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5562 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-09-17 20:25:22 +00:00
csoler
8d070bb030 moved QoS down to pqistreamer pipes. This removes one out queue, and removes lags due to many packets being sent at ones.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5249 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-23 12:10:41 +00:00
drbob
e0af833f47 Added QueueSize information to be exported too.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5245 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-22 01:35:32 +00:00
drbob
48a1c66c60 Added Bandwidth Monitoring service to libretroshare to help debug Lag.
- p3bwctrl.h/.cc & rsbwctrlitems.h/.cc
	- New Interface in pqihandler to extract the data.
	- New Interface in rsconfig to display in GUI.
	- Added extra debugging in pqistreamer for catching big outqueues.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5241 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-21 23:23:46 +00:00
thunder2
83bd45caa4 Removed some std::ostringstream.
To be continued.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5103 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-04-14 22:38:24 +00:00
drbob
4aec00a0c2 Attempt at fixing the Disconnection issue.
* Added DataRate accounting to Relay and Dht.
 * Rates are exposed through rsDht.h interface.
 * Added LastIncomingTS() to pqistreamer.
 * Turned HeartBeat reset() into a warning.
 * Added NoPacket in 60 sec reset().
 * Minor typos/errors corrected.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4818 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-19 16:23:57 +00:00
thunder2
031629d528 Removed compiler warnings.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4689 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-25 13:32:46 +00:00
csoler
0ed60eaf86 merge of QoS branch into trunk
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4588 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-09-04 20:01:30 +00:00
drbob
da0d410b8d * Added further debug to pqistreamer.
* clear mOldNatHole/NatType during netReset.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4497 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-29 15:20:40 +00:00
thunder2
de87a89437 Added a name to the RsMutex class.
You can enable the debugging of the waiting time for a lock of RsMutex in rsthreads.h with
#define RSMUTEX_DEBUG 300
That means all locks waiting longer than 300ms are logged into the stderr.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4392 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-04 22:59:39 +00:00
csoler
fc959a0ad6 fixed a bug in pqissl and pqistreamer. The 2nd one was responsible for disconnections and errors in GetTlvString type
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4332 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-06-24 21:44:29 +00:00
csoler
05ed2bec88 fast simplification of code in pqistreamer, and added a missing =null in p3service that could cause a bug
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4135 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-04-08 20:57:16 +00:00
thunder2
bc113326e4 Fixed problem with utf characters in the %APPDATA% path on Windows.
Added function for opening files on Windows and Linux - RsDirUtil::rs_fopen.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4124 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-04-03 23:11:38 +00:00
csoler
ebfe8b9828 disabled error msg from pqistreamer, as it is not an error in 99% of the cases it happens
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4051 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-02-23 19:32:51 +00:00
csoler
107d904c22 added debug info to packet errormessage for devs
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3977 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-01-23 14:35:43 +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
d649a27fd9 Added TRANSFER debug to pqistreamer.
* print packet size and time - when actually sending it.
 * print reason for stopping to read or send packets.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3780 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-11-11 23:59:04 +00:00
csoler
95c5c4b1a1 Added in RsItem a new virtual method queueType() that returns the type of the queue to
use for handling the packet: RsItem::DATA_QUEUE for data and RsItem::CONTROL_QUEUE for 
control packets, to be used in pqistreamer.

Up to now, File data chunks where the only packets that were going into the --less prioritized--
data queue. Now, the default in RsItem::queueType() being to return CONTROL_QUEUE, developpers can
choose which queue t use by simply overloading this method so that it returns a different value.

The first use of this was to make generic turtle tunnel packets use the data queue instead of 
the control queuem, which restores a correct balance between turtle downloads and friends downloads.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3153 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-16 21:09:58 +00:00
joss17
bf67301d71 remove a maximum of debug outputs for the release
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2232 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-07 21:28:40 +00:00
joss17
fdb3673ce2 Add the tunneling connection. Warning, encryption is not implemented yet for tunnel connection, use only for testing.
Redesign the udp connection
Remove the rsiface duplicates from retroshare-gui.
Add some randomness in timings for connect manager

Merge branch 'connectionTunneling'

Conflicts:
	libretroshare/src/libretroshare.pro
	libretroshare/src/pqi/p3connmgr.cc
	retroshare-gui/src/RetroShare.pro
	retroshare-gui/src/rsiface/rsfiles.h
	retroshare-gui/src/rsiface/rstypes.h

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1867 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-12-13 21:59:26 +00:00
csoler
a436053e8b windows compilation fix
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1397 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-07-21 20:57:18 +00:00