4 void save_stat_to_file(int32_t thread
);
5 int32_t clean_stat_by_rc(struct s_reader
*rdr
, int8_t rc
, int8_t inverse
);
6 int32_t clean_all_stats_by_rc(int8_t rc
, int8_t inverse
);
7 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
);
8 void clear_reader_stat(struct s_reader
*rdr
);
9 void clear_all_stat(void);
10 READER_STAT
**get_sorted_stat_copy(struct s_reader
*rdr
, int32_t reverse
, int32_t *size
);
11 void update_ecmlen_from_stat(struct s_reader
*rdr
);
15 void stat_finish(void);
16 void load_stat_from_file(void);
17 void lb_destroy_stats(struct s_reader
*rdr
);
18 void send_reader_stat(struct s_reader
*rdr
, ECM_REQUEST
*er
, struct s_ecm_answer
*ea
, int8_t rc
);
19 void stat_get_best_reader(ECM_REQUEST
*er
);
20 void lb_mark_last_reader(ECM_REQUEST
*er
);
21 void check_lb_auto_betatunnel_mode(ECM_REQUEST
*er
);
22 uint32_t lb_auto_timeout(ECM_REQUEST
*er
, uint32_t ctimeout
);
23 bool lb_check_auto_betatunnel(ECM_REQUEST
*er
, struct s_reader
*rdr
);
24 void lb_set_best_reader(ECM_REQUEST
*er
);
25 void lb_update_last(struct s_ecm_answer
*ea_er
, struct s_reader
*reader
);
26 uint16_t lb_get_betatunnel_caid_to(ECM_REQUEST
*er
);
27 void readerinfofix_get_stat_query(ECM_REQUEST
*er
, STAT_QUERY
*q
);
28 void readerinfofix_inc_fail(READER_STAT
*s
);
29 READER_STAT
*readerinfofix_get_add_stat(struct s_reader
*rdr
, STAT_QUERY
*q
);
31 static inline void init_stat(void) { }
32 static inline void stat_finish(void) { }
33 static inline void load_stat_from_file(void) { }
34 static inline void lb_destroy_stats(struct s_reader
*UNUSED(rdr
)) { }
35 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
)) { }
36 static inline void stat_get_best_reader(ECM_REQUEST
*UNUSED(er
)) { }
37 static inline void lb_mark_last_reader(ECM_REQUEST
*UNUSED(er
)) { }
38 static inline void check_lb_auto_betatunnel_mode(ECM_REQUEST
*UNUSED(er
)) { }
39 static inline uint32_t lb_auto_timeout(ECM_REQUEST
*UNUSED(er
), uint32_t ctimeout
) { return ctimeout
; }
40 static inline bool lb_check_auto_betatunnel(ECM_REQUEST
*UNUSED(er
), struct s_reader
*UNUSED(rdr
)) { return 0; }
41 static inline void lb_set_best_reader(ECM_REQUEST
*UNUSED(er
)) { }
42 static inline void lb_update_last(struct s_ecm_answer
*UNUSED(ea_er
), struct s_reader
*UNUSED(reader
)) { }
43 static inline uint16_t lb_get_betatunnel_caid_to(ECM_REQUEST
*UNUSED(er
)) { return 0; }