@ -0,0 +1,82 @@ | |||||
/* | |||||
* Node.cpp | |||||
* | |||||
* Created on: 10.01.2017 | |||||
* Author: piotrek | |||||
*/ | |||||
#include "Node.h" | |||||
Node::Node() | |||||
{ | |||||
// TODO Auto-generated constructor stub | |||||
} | |||||
Node::~Node() | |||||
{ | |||||
// TODO Auto-generated destructor stub | |||||
} | |||||
/* | |||||
* funkcja symuluje typową sytuację: mamy kartę sieciową, a funkcja connectNode jest podłączeniem wtyczki | |||||
* z jednej strony | |||||
*/ | |||||
bool Node::connectNode(Node *node) | |||||
{ | |||||
vector<Node*>::iterator it = this->connectedNodes.begin(); | |||||
for (; it != this->connectedNodes.end(); ++it) //sprawdzamy, czy połączenia już przypadkiem nie ma | |||||
{ | |||||
if (*it == node) | |||||
return false; | |||||
} | |||||
this->connectedNodes.push_back(node); // podłączamy drugi węzeł | |||||
node->connectNode(this); // podłączamy drugą stronę | |||||
return true; | |||||
} | |||||
void Node::send(Packet packet) | |||||
{ | |||||
} | |||||
Packet Node::recv() | |||||
{ | |||||
} | |||||
void Node::setHostname(string hostname) | |||||
{ | |||||
} | |||||
void Node::setIp(string ip) | |||||
{ | |||||
} | |||||
void Node::setMask(string mask) | |||||
{ | |||||
} | |||||
string Node::getHostname() | |||||
{ | |||||
} | |||||
string Node::getIp() | |||||
{ | |||||
} | |||||
string Node::getMask() | |||||
{ | |||||
} | |||||
void Node::onRecv() | |||||
{ | |||||
} |
@ -0,0 +1,46 @@ | |||||
/* | |||||
* Node.h | |||||
* | |||||
* Created on: 10.01.2017 | |||||
* Author: piotrek | |||||
*/ | |||||
#ifndef NODE_H_ | |||||
#define NODE_H_ | |||||
#include "common.h" | |||||
#include "Packet.h" | |||||
typedef struct { | |||||
string ip; | |||||
string mask; | |||||
} NetConf; | |||||
class Node | |||||
{ | |||||
queue<Packet>rcvPackets; // kolejka z pakietami do przetworzenia | |||||
vector<Node*> connectedNodes; // referencje do węzłów, z którymi jest podłączony | |||||
NetConf netConf; // konfiguracja sieciowa | |||||
string hostname; // nazwa węzła | |||||
public: | |||||
Node(); | |||||
virtual ~Node(); | |||||
bool connectNode(Node *node); | |||||
void send(Packet packet); | |||||
Packet recv(); | |||||
// settery | |||||
void setHostname(string hostname); | |||||
void setIp(string ip); | |||||
void setMask(string mask); | |||||
// gettery | |||||
string getHostname(); | |||||
string getIp(); | |||||
string getMask(); | |||||
virtual void onRecv(); // wirtualna metoda na odbiór i dalszą akcję | |||||
}; | |||||
#endif /* NODE_H_ */ |
@ -0,0 +1,19 @@ | |||||
/* | |||||
* common.h | |||||
* | |||||
* Created on: 10.01.2017 | |||||
* Author: piotrek | |||||
*/ | |||||
#ifndef COMMON_H_ | |||||
#define COMMON_H_ | |||||
#include <iostream> | |||||
#include <queue> | |||||
#include <map> | |||||
#include <functional> | |||||
using namespace std; | |||||
#endif /* COMMON_H_ */ |