2 Star 1 Fork 0

长江/oscam-nx111

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
module-stat.h 2.43 KB
一键复制 编辑 原始数据 按行查看 历史
gorgone.impertinence 提交于 2016-03-27 04:16 +08:00 . fix lbstats for reader
#ifndef MODULE_STAT_H_
#define MODULE_STAT_H_
void save_stat_to_file(int32_t thread);
int32_t clean_stat_by_rc(struct s_reader *rdr, int8_t rc, int8_t inverse);
int32_t clean_all_stats_by_rc(int8_t rc, int8_t inverse);
int32_t clean_stat_by_id(struct s_reader *rdr, uint16_t caid, uint32_t prid, uint16_t srvid, uint16_t chid, uint16_t ecmlen);
void clear_reader_stat(struct s_reader *rdr);
void clear_all_stat(void);
READER_STAT **get_sorted_stat_copy(struct s_reader *rdr, int32_t reverse, int32_t *size);
void update_ecmlen_from_stat(struct s_reader *rdr);
#ifdef WITH_LB
void init_stat(void);
void stat_finish(void);
void load_stat_from_file(void);
void lb_destroy_stats(struct s_reader *rdr);
void send_reader_stat(struct s_reader *rdr, ECM_REQUEST *er, struct s_ecm_answer *ea, int8_t rc);
void stat_get_best_reader(ECM_REQUEST *er);
void lb_mark_last_reader(ECM_REQUEST *er);
void check_lb_auto_betatunnel_mode(ECM_REQUEST *er);
uint32_t lb_auto_timeout(ECM_REQUEST *er, uint32_t ctimeout);
bool lb_check_auto_betatunnel(ECM_REQUEST *er, struct s_reader *rdr);
void lb_set_best_reader(ECM_REQUEST *er);
void lb_update_last(struct s_ecm_answer *ea_er, struct s_reader *reader);
uint16_t lb_get_betatunnel_caid_to(ECM_REQUEST *er);
void readerinfofix_get_stat_query(ECM_REQUEST *er, STAT_QUERY *q);
void readerinfofix_inc_fail(READER_STAT *s);
READER_STAT *readerinfofix_get_add_stat(struct s_reader *rdr, STAT_QUERY *q);
#else
static inline void init_stat(void) { }
static inline void stat_finish(void) { }
static inline void load_stat_from_file(void) { }
static inline void lb_destroy_stats(struct s_reader *UNUSED(rdr)) { }
static inline void send_reader_stat(struct s_reader *UNUSED(rdr), ECM_REQUEST *UNUSED(er), struct s_ecm_answer *UNUSED(ea), int8_t UNUSED(rc)) { }
static inline void stat_get_best_reader(ECM_REQUEST *UNUSED(er)) { }
static inline void lb_mark_last_reader(ECM_REQUEST *UNUSED(er)) { }
static inline void check_lb_auto_betatunnel_mode(ECM_REQUEST *UNUSED(er)) { }
static inline uint32_t lb_auto_timeout(ECM_REQUEST *UNUSED(er), uint32_t ctimeout) { return ctimeout; }
static inline bool lb_check_auto_betatunnel(ECM_REQUEST *UNUSED(er), struct s_reader *UNUSED(rdr)) { return 0; }
static inline void lb_set_best_reader(ECM_REQUEST *UNUSED(er)) { }
static inline void lb_update_last(struct s_ecm_answer *UNUSED(ea_er), struct s_reader *UNUSED(reader)) { }
static inline uint16_t lb_get_betatunnel_caid_to(ECM_REQUEST *UNUSED(er)) { return 0; }
#endif
#endif
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/4a02/oscam-nx111.git
git@gitee.com:4a02/oscam-nx111.git
4a02
oscam-nx111
oscam-nx111
master

搜索帮助