00001 #ifndef _DHT_KADC_TASK_CONNECTED_DETECT_H_
00002 #define _DHT_KADC_TASK_CONNECTED_DETECT_H_
00003
00004 #include "task.h"
00005 #include "client.h"
00006
00007 namespace dht {
00008 namespace kadc {
00009 class task_connected_detect : public task {
00010 client::message_queue_type *_msg_queue;
00011 KadCcontext *_kcc;
00012 time_value_type _poll_interval;
00013 time_value_type _conn_timeout;
00014 time_value_type _node_timeout;
00015 time_value_type _abs_conn_timeout;
00016 time_value_type _abs_node_timeout;
00017
00018 time_value_type _abs_next_info_debug;
00019 time_value_type _info_debug_interval;
00020
00021 bool _has_timeouted(message *msg_c, int fwstatus, int nkclients);
00022 public:
00023 task_connected_detect(client::message_queue_type *q,
00024 KadCcontext *kcc);
00025 virtual ~task_connected_detect();
00026
00027 virtual int svc(void);
00028 };
00029
00030 }
00031 }
00032
00033 #endif //_DHT_KADC_TASK_CONNECTED_DETECT_H_