/* * 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; string gatewayIp; } NetConf; class Node { protected: queuercvBuffer; // kolejka z pakietami do przetworzenia vector connectedNodes; // referencje do węzłów, z którymi jest podłączony NetConf netConf; // konfiguracja sieciowa string hostname; // nazwa węzła Node * findConnection(string ip); Packet recv(); public: Node(); Node(string hostname); Node(string hostname, string ip, string mask); Node(string hostname, string ip, string mask, string gatewayIp); virtual ~Node(); bool connectNode(Node *node, bool firstConnected = false); bool send(Packet packet); void putPacket(Packet packet); // settery void setHostname(string hostname); void setIp(string ip); void setMask(string mask); void setGatewayIp(string gatewayIp); // gettery string getHostname(); string getIp(); string getMask(); string getGatewayIp(); virtual void onRecv(); // wirtualna metoda na odbiór i dalszą akcję }; #endif /* NODE_H_ */