9 #ifndef anna_comm_Handler_hpp 10 #define anna_comm_Handler_hpp 12 #include <netinet/in.h> 42 struct Support {
enum _v { None = 0, CongestionControl = 1 }; };
69 int getfd()
const {
return a_fd; }
92 bool operator == (
const int fd)
const {
return a_fd == fd; }
98 virtual void apply() noexcept(
false) = 0;
111 virtual std::string asString()
const ;
123 void asAttribute(
xml::Node* node)
const noexcept(
false);
138 a_communicator(communicator),
153 a_communicator(NULL),
208 virtual bool testClose() noexcept(false) {
return false;}
223 virtual void clone() noexcept(false) {;}
234 void do_action() noexcept(
false);
235 void beat(
const Microsecond& now) { a_maxTime = now + a_timeout; }
236 bool isTimeout(
const Microsecond& now) {
return a_maxTime > 0 && a_maxTime <= now; }
Definition: Communicator.hpp:79
virtual void initialize() noexcept(false)
Definition: Runnable.hpp:103
Definition: Millisecond.hpp:24
Type::_v getType() const
Definition: Handler.hpp:63
Communicator * a_communicator
Definition: Handler.hpp:129
virtual bool testClose() noexcept(false)
Definition: Handler.hpp:208
static std::string asText(const char *comment, const int number)
Definition: functions.hpp:153
void setTimeout(const Millisecond &timeout)
Definition: Handler.hpp:175
void setfd(const int fd)
Definition: Handler.hpp:168
int getfd() const
Definition: Handler.hpp:69
Definition: Handler.hpp:52
Handler(Communicator *communicator, const Type::_v type, const int support=Support::CongestionControl)
Definition: Handler.hpp:137
virtual void finalize()
Definition: Handler.hpp:216
bool supportTimeout() const
Definition: Handler.hpp:85
Definition: ClientSocket.hpp:38
virtual void recoverAddress(const in_addr_t &address)
Definition: Handler.hpp:200
virtual void clone() noexcept(false)
Definition: Handler.hpp:223
void setIsRunning(const bool isRunning)
Definition: Runnable.hpp:97
virtual void run() noexcept(false)
Definition: Handler.hpp:42
virtual void breakAddress(const in_addr_t &address)
Definition: Handler.hpp:192
virtual ClientSocket * getClientSocket()
Definition: Handler.hpp:105
Definition: Runnable.hpp:27
xml::Node Node
Definition: Node.hpp:21
_v
Definition: Handler.hpp:48
Handler(const Type::_v type, const int support=Support::CongestionControl)
Definition: Handler.hpp:152
Definition: Handler.hpp:49
bool supportCongestionControl() const
Definition: Handler.hpp:77
Definition: Handler.hpp:33
Definition: Handler.hpp:50
Definition: Handler.hpp:47
Definition: Handler.hpp:53
Definition: Handler.hpp:51
bool canContinue() const
Definition: Handler.hpp:184
Definition: Handler.hpp:54
static Microsecond hardwareClock()
Definition: functions.hpp:390
_v
Definition: Handler.hpp:42
Definition: Microsecond.hpp:22