Browse Source

logowanie informacji ogolnych o symulacji

master
Piotr Dergun 7 years ago
parent
commit
43fdcdc74d
6 changed files with 46 additions and 3 deletions
  1. +5
    -2
      Log.cpp
  2. +14
    -0
      P2PServer.cpp
  3. +5
    -0
      P2PServer.h
  4. +14
    -1
      Peer.cpp
  5. +4
    -0
      Peer.h
  6. +4
    -0
      Simulation.cpp

+ 5
- 2
Log.cpp View File

@ -70,8 +70,11 @@ void Log::print(string msg)
if(has_colors()) if(has_colors())
attron(COLOR_PAIR(this->getColor())); attron(COLOR_PAIR(this->getColor()));
printw("%s:%s%s", this->getObjectName()->c_str(), this->getDelimiter().c_str(), msg.c_str());
//printw("%s:%s%s", this->getObjectName()->c_str(), this->getDelimiter().c_str(), msg.c_str());
printw("%s:%s", this->getObjectName()->c_str(), this->getDelimiter().c_str());
attron(A_BOLD);
printw("%s", msg.c_str());
attroff(A_BOLD);
if(has_colors()) if(has_colors())
attroff(COLOR_PAIR(this->getColor())); attroff(COLOR_PAIR(this->getColor()));

+ 14
- 0
P2PServer.cpp View File

@ -13,6 +13,7 @@ P2PServer::P2PServer()
this->peerIp = ""; this->peerIp = "";
this->seedPort = 0; this->seedPort = 0;
this->peerPort = 0; this->peerPort = 0;
this->sim = NULL;
} }
P2PServer::P2PServer(string hostname, string ip, string mask) : Node(hostname, ip, mask) P2PServer::P2PServer(string hostname, string ip, string mask) : Node(hostname, ip, mask)
@ -21,6 +22,7 @@ P2PServer::P2PServer(string hostname, string ip, string mask) : Node(hostname,
this->peerIp = ""; this->peerIp = "";
this->seedPort = 0; this->seedPort = 0;
this->peerPort = 0; this->peerPort = 0;
this->sim = NULL;
} }
P2PServer::~P2PServer() P2PServer::~P2PServer()
@ -62,6 +64,8 @@ void P2PServer::onRecv()
pp.setSrcPort(p.getDstPort()); pp.setSrcPort(p.getDstPort());
ss.str(""); ss.str("");
if (this->sim)
this->sim->print("Sending to seed information about peer IP and port");
ss << "Sending \"" << pp.getMsg() << "\" to " << pp.getDstIp() << ":" << pp.getDstPort(); ss << "Sending \"" << pp.getMsg() << "\" to " << pp.getDstIp() << ":" << pp.getDstPort();
this->print(ss.str()); this->print(ss.str());
this->send(pp); this->send(pp);
@ -77,3 +81,13 @@ void P2PServer::onRecv()
} }
} }
} }
const Simulation* P2PServer::getSim()
{
return sim;
}
void P2PServer::setSim(Simulation* sim)
{
this->sim = sim;
}

+ 5
- 0
P2PServer.h View File

@ -10,17 +10,22 @@
#include "common.h" #include "common.h"
#include "Node.h" #include "Node.h"
#include "Simulation.h"
class P2PServer : public Node class P2PServer : public Node
{ {
string seedIp, peerIp; string seedIp, peerIp;
int seedPort, peerPort; int seedPort, peerPort;
Simulation *sim;
public: public:
P2PServer(); P2PServer();
P2PServer(string hostname, string ip, string mask); P2PServer(string hostname, string ip, string mask);
virtual ~P2PServer(); virtual ~P2PServer();
virtual void onRecv(); virtual void onRecv();
const Simulation* getSim();
void setSim(Simulation* sim);
}; };
#endif /* P2PSERVER_H_ */ #endif /* P2PSERVER_H_ */

+ 14
- 1
Peer.cpp View File

@ -13,6 +13,7 @@ Peer::Peer()
this->srcPort = 0; this->srcPort = 0;
this->remotePort = 0; this->remotePort = 0;
this->sender = false; this->sender = false;
this->sim = NULL;
} }
Peer::Peer(string hostname, string ip, string mask, string gatewayIp) : Node(hostname, ip, mask, gatewayIp) Peer::Peer(string hostname, string ip, string mask, string gatewayIp) : Node(hostname, ip, mask, gatewayIp)
@ -21,6 +22,7 @@ Peer::Peer(string hostname, string ip, string mask, string gatewayIp) : Node(hos
this->srcPort = 0; this->srcPort = 0;
this->remotePort = 0; this->remotePort = 0;
this->sender = false; this->sender = false;
this->sim = NULL;
} }
void Peer::onRecv() void Peer::onRecv()
@ -102,6 +104,8 @@ void Peer::sendData()
p.setMsg(ss.str()); p.setMsg(ss.str());
ss.str(""); ss.str("");
if (this->sim)
this->sim->print("Sending a data to peer");
ss << "Sending \"" << p.getMsg() << "\" to " << p.getDstIp() << ":" << p.getDstPort(); ss << "Sending \"" << p.getMsg() << "\" to " << p.getDstIp() << ":" << p.getDstPort();
this->print(ss.str()); this->print(ss.str());
this->send(p); this->send(p);
@ -128,10 +132,19 @@ void Peer::sendAck(string dstIp, int dstPort)
p.setMsg(ss.str()); p.setMsg(ss.str());
ss.str(""); ss.str("");
if (this->sim)
this->sim->print("Sending an acknowledgement to seed");
ss << "Sending \"" << p.getMsg() << "\" to " << p.getDstIp() << ":" << p.getDstPort(); ss << "Sending \"" << p.getMsg() << "\" to " << p.getDstIp() << ":" << p.getDstPort();
this->print(ss.str()); this->print(ss.str());
this->send(p); this->send(p);
} }
const Simulation* Peer::getSim()
{
return sim;
}
void Peer::setSim(Simulation* sim)
{
this->sim = sim;
}

+ 4
- 0
Peer.h View File

@ -10,6 +10,7 @@
#include "common.h" #include "common.h"
#include "Node.h" #include "Node.h"
#include "Simulation.h"
class Peer : public Node class Peer : public Node
{ {
@ -18,6 +19,7 @@ class Peer : public Node
string remoteIp; string remoteIp;
int remotePort; int remotePort;
int partId; int partId;
Simulation *sim;
public: public:
Peer(); Peer();
@ -28,6 +30,8 @@ public:
void connectToServer(string serverIp, int serverPort); void connectToServer(string serverIp, int serverPort);
bool isSender() const; bool isSender() const;
void setSender(bool sender); void setSender(bool sender);
const Simulation* getSim();
void setSim(Simulation* sim);
protected: protected:
void sendData(); void sendData();

+ 4
- 0
Simulation.cpp View File

@ -176,8 +176,10 @@ void Simulation::p2pSimulation()
this->print("Creating P2P peers"); this->print("Creating P2P peers");
Peer peer1("Peer 1", "192.168.1.2", "255.255.255.0", "192.168.1.1"); Peer peer1("Peer 1", "192.168.1.2", "255.255.255.0", "192.168.1.1");
peer1.setSender(true); peer1.setSender(true);
peer1.setSim(this);
peer1.setLogParams(0, GREEN, "\t\t"); peer1.setLogParams(0, GREEN, "\t\t");
Peer peer2("Peer 2", "10.0.0.2", "255.255.255.0", "10.0.0.1"); Peer peer2("Peer 2", "10.0.0.2", "255.255.255.0", "10.0.0.1");
peer2.setSim(this);
peer2.setLogParams(4, CYAN, "\t\t"); peer2.setLogParams(4, CYAN, "\t\t");
peer1.print("IP 192.168.1.2/24, Gateway: 192.168.1.1"); peer1.print("IP 192.168.1.2/24, Gateway: 192.168.1.1");
peer2.print("IP 10.0.0.2/24, Gateway: 10.0.0.1"); peer2.print("IP 10.0.0.2/24, Gateway: 10.0.0.1");
@ -203,6 +205,7 @@ void Simulation::p2pSimulation()
this->print("Creating P2P server"); this->print("Creating P2P server");
P2PServer server("Server", "80.80.90.91", "255.255.255.255"); P2PServer server("Server", "80.80.90.91", "255.255.255.255");
server.setSim(this);
server.setLogParams(2, YELLOW, "\t\t"); server.setLogParams(2, YELLOW, "\t\t");
server.print("IP 80.80.90.91/32"); server.print("IP 80.80.90.91/32");
sleep(1); sleep(1);
@ -230,6 +233,7 @@ void Simulation::p2pSimulation()
this->createThread("r2", NODE_RECV, &r2); this->createThread("r2", NODE_RECV, &r2);
this->createThread("s1", NODE_RECV, &server); this->createThread("s1", NODE_RECV, &server);
this->print("Connecting peers to P2P server");
peer1.connectToServer("80.80.90.91", 6565); peer1.connectToServer("80.80.90.91", 6565);
peer2.connectToServer("80.80.90.91", 6565); peer2.connectToServer("80.80.90.91", 6565);
sleep(1); sleep(1);

Loading…
Cancel
Save