| @ -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_ */ | |||||