00001 #ifndef __MULTIPRED_H__ 00002 #define __MULTIPRED_H__ 00003 00004 #include <linux/aquosa/qmgr_base.h> 00005 00016 typedef struct multipred_params_struct { 00017 int num_predictors; 00024 qmgr_pred_params_t *params; 00025 } multipred_params_t; 00026 00030 typedef struct multipred_struct { 00031 qmgr_pred_t base; 00032 int num_predictors; 00033 qmgr_pred_t **predictors; 00034 int curr_predictor; 00035 } multipred_t; 00036 00038 qos_rv multipred_register(void); 00039 00040 qos_rv multipred_init(void *self, void *params); 00041 qos_rv multipred_final(qmgr_pred_t *self); 00042 00043 qos_rv multipred_add_sample(qmgr_pred_t *pred, qres_time_t new_sample); 00044 00045 qos_rv multipred_skip_sample(qmgr_pred_t *pred); 00046 00047 qres_time_t multipred_get_exp_value(qmgr_pred_t *multipred); 00048 00049 qres_time_t multipred_get_std_dev(qmgr_pred_t *multipred); 00050 00051 qres_time_t multipred_get_exp_value(qmgr_pred_t *multipred); 00052 00053 qres_time_t multipred_get_pos_dev(qmgr_pred_t *multipred); 00054 00055 qres_time_t multipred_get_neg_dev(qmgr_pred_t *multipred); 00056 00059 #endif