RetroShare/libretroshare/src/tests/network_simulator
2013-06-05 19:54:34 +00:00
..
main.cpp - Restored compilation of most tests (The part using previously named p3ConnectMgr is still to be done). 2012-12-17 23:05:25 +00:00
MainLoop.cpp added a network simulator. Basically exchanges data between peers and visualize the stats of each peer. The basics is here (network draw, data exchange, visualization of turtle router data). The real experiments must now be implemented: adding file requests to create TR, etc 2012-09-29 14:12:57 +00:00
MonitoredRsPeers.cpp added TR simulation 2012-09-30 19:14:10 +00:00
MonitoredRsPeers.h added TR simulation 2012-09-30 19:14:10 +00:00
MonitoredTurtle.cpp fixed simulator to work with new file permission code 2012-11-16 21:15:39 +00:00
MonitoredTurtle.h fixed compilation of network simulator 2013-06-05 19:54:34 +00:00
Network.cpp fixed compilation of network simulator 2013-06-05 19:54:34 +00:00
Network.h fixed compilation of network simulator 2013-06-05 19:54:34 +00:00
network.pro - Restored compilation of most tests (The part using previously named p3ConnectMgr is still to be done). 2012-12-17 23:05:25 +00:00
NetworkSimulatorGUI.cpp added a network simulator. Basically exchanges data between peers and visualize the stats of each peer. The basics is here (network draw, data exchange, visualization of turtle router data). The real experiments must now be implemented: adding file requests to create TR, etc 2012-09-29 14:12:57 +00:00
NetworkSimulatorGUI.h added a network simulator. Basically exchanges data between peers and visualize the stats of each peer. The basics is here (network draw, data exchange, visualization of turtle router data). The real experiments must now be implemented: adding file requests to create TR, etc 2012-09-29 14:12:57 +00:00
NetworkSimulatorGUI.ui added a network simulator. Basically exchanges data between peers and visualize the stats of each peer. The basics is here (network draw, data exchange, visualization of turtle router data). The real experiments must now be implemented: adding file requests to create TR, etc 2012-09-29 14:12:57 +00:00
NetworkViewer.cpp fixed variable collision 2012-11-16 21:02:20 +00:00
NetworkViewer.h fixed some GUI bugs in network simulator 2012-10-28 12:14:27 +00:00
README.txt added TR simulation 2012-09-30 19:14:10 +00:00
RsAutoUpdatePage.cpp added a network simulator. Basically exchanges data between peers and visualize the stats of each peer. The basics is here (network draw, data exchange, visualization of turtle router data). The real experiments must now be implemented: adding file requests to create TR, etc 2012-09-29 14:12:57 +00:00
RsAutoUpdatePage.h added a network simulator. Basically exchanges data between peers and visualize the stats of each peer. The basics is here (network draw, data exchange, visualization of turtle router data). The real experiments must now be implemented: adding file requests to create TR, etc 2012-09-29 14:12:57 +00:00
TurtleRouterStatistics.cpp added a network simulator. Basically exchanges data between peers and visualize the stats of each peer. The basics is here (network draw, data exchange, visualization of turtle router data). The real experiments must now be implemented: adding file requests to create TR, etc 2012-09-29 14:12:57 +00:00
TurtleRouterStatistics.h added a network simulator. Basically exchanges data between peers and visualize the stats of each peer. The basics is here (network draw, data exchange, visualization of turtle router data). The real experiments must now be implemented: adding file requests to create TR, etc 2012-09-29 14:12:57 +00:00
TurtleRouterStatistics.ui added a network simulator. Basically exchanges data between peers and visualize the stats of each peer. The basics is here (network draw, data exchange, visualization of turtle router data). The real experiments must now be implemented: adding file requests to create TR, etc 2012-09-29 14:12:57 +00:00

The purpose of this directory is to write a Network simulator, that can have multiple turtle routers interact
together. The routers will talk to a fake link manager, which reports the peers for each node of a network graph.

Required components:
===================
	NetworkGraph: a set of friends, with connexions. Should be able to be saved to a file for debugging.

	GraphNode: a RS peer, represented by a random SSL id, a link manager, and possibly components such as file transfer, etc. 

	Main loop: a loop calling tick() on all turtle routers.

   Functions:
		* gather statistics over network load. See if tunnels are ok, improve bandwidth allocation strategy, see request broadcast.

	GUI:
		* visualization of the graph. OpenGL + qglviewer window. Show tunnels, data flow as colors, etc.
		* give quantitative information under mouse
		* the user can trigger behaviors, execute tunnel handling orders, cause file transfer, etc.


Implementation constraints
==========================
	* sendItem() and recvItems() should come from above. The class p3Service thus needs to be re-implemented to get/send the 
	  data properly.

	  	=> define subclass of p3turtle , where send() and recv() are redefined.

	* LinkMgr:
		getOwnId(), getLinkType(), getOnlineList()

		used by turtle

	* turtle needs LinkMgr and ftServer. The ftServer can be contructed from PeerMgr (not called except in ftServer::setupFtServer. not needed here.

Complilation
============
	* needs the QGLViewer-dev library (standard on ubuntu, package name is libqglviewer-qt4-dev)
	* should compile on windows and MacOS as well. Use http://www.libqglviewer.com