- /**
- * @file NATItem.h
- *
- * Created on: 10-01-2017
- * @author Piotr Dergun
- */
-
- #ifndef NATITEM_H_
- #define NATITEM_H_
-
- #include "common.h"
-
- class NATItem
- {
- /** IP węzła za NAT-em do którego ma trafić odpowiedź / z którego przyszło żądanie */
- string ip; //
- /** port węzła za NAT-em, do którego ma trafić odpowiedź */
- int port;
- /** czas, na jaki port w tablicy NAT pozostaje otwarty do ewentualnej odpowiedzi z zewnątrz */
- unsigned long timeout;
-
- public:
- NATItem();
- /**
- * sprawdza, czy port jest wolny (timeout == 0)
- */
- bool isFree();
- /**
- * zwiększa timeout o określoną wartość
- * @param timeout dodawana wartość timeoutu
- */
- void increaseTimeout(int timeout);
- /**
- * ustawia timeout jako aktualny timestamp + określona wartość
- * @param timeout czas timeoutu
- */
- void setTimeout(int timeout);
- /**
- * ustawia timeout na 0 (zwalnia port w tablicy NAT)
- */
- void free();
-
- /* mutuatory */
- const string& getIp() const;
- void setIp(const string& ip);
- int getPort() const;
- void setPort(int port);
- unsigned long getTimeout() const;
-
- };
-
- #endif /* NATITEM_H_ */
|