#ifndef __HTTP_HEADER_V1__ #define __HTTP_HEADER_V1__ #include #include #include #include #include #include #include using namespace std; typedef struct _http_header_info { int header_id; long long header_num; }http_header_t; class BaseFS { public: screen_stat_handle_t fsstat_handle; public: BaseFS(const char * header_name, const char *logdir); ~BaseFS(); void start(void); void passive_output(void); }; class ContentTable : public BaseFS { private: map dynamic_line_id; int total_status_id; int no_header_id; int num_column_id; int ratio_column_id; long long header_total; long long no_header_num; pthread_mutex_t mutex_lock; public: ContentTable(const char * header_name, const char *logdir); ~ContentTable(); int operate(enum field_op op, string line_name, long long value); void operate_ratio(); long long set_nocontent_num(); long long get_head_total(); }; class ContentHistogram : public BaseFS { private: int histogram_id; pthread_mutex_t mutex_lock; public: ContentHistogram(const char * header_name, const char *logdir); ~ContentHistogram(); int content_lenght_operate(long long value); }; #endif