Symulacja NAT na przedmiot Symulacje Komputerowe
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
826 B

7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
  1. /**
  2. * @file NATItem.cpp
  3. *
  4. * Created on: 10-01-2017
  5. * @author Piotr Dergun
  6. */
  7. #include "NATItem.h"
  8. NATItem::NATItem()
  9. {
  10. this->ip = "0.0.0.0";
  11. this->port = 0;
  12. this->timeout = time(NULL);
  13. }
  14. const string& NATItem::getIp() const
  15. {
  16. return ip;
  17. }
  18. void NATItem::setIp(const string& ip)
  19. {
  20. this->ip = ip;
  21. }
  22. int NATItem::getPort() const
  23. {
  24. return port;
  25. }
  26. void NATItem::setPort(int port)
  27. {
  28. this->port = port;
  29. }
  30. unsigned long NATItem::getTimeout() const
  31. {
  32. long t = this->timeout - time(NULL);
  33. if (t < 0)
  34. return 0;
  35. return t;
  36. }
  37. bool NATItem::isFree()
  38. {
  39. return (this->getTimeout() == 0);
  40. }
  41. void NATItem::setTimeout(int timeout)
  42. {
  43. this->timeout = time(NULL) + timeout;
  44. }
  45. void NATItem::free()
  46. {
  47. this->setTimeout(0);
  48. }
  49. void NATItem::increaseTimeout(int timeout)
  50. {
  51. this->setTimeout(this->getTimeout() + timeout);
  52. }