X-Git-Url: https://rtime.felk.cvut.cz/gitweb/frescor/fna.git/blobdiff_plain/2141ec2b36dcb845c432cc5c29b5068139db4aff..5c8e141653df488eaefd495f239a9aef51c9e0a7:/src_frescan/frescan_data.h diff --git a/src_frescan/frescan_data.h b/src_frescan/frescan_data.h index 2c7070c..7135432 100644 --- a/src_frescan/frescan_data.h +++ b/src_frescan/frescan_data.h @@ -116,6 +116,33 @@ typedef struct { frescan_prio_t prio; } frescan_contract_t; +/** + * frescan_sa_xxx scheduling analysis types + */ + +typedef struct { + frescan_prio_t server_prio; +} frescan_sa_final_values_t; + +typedef struct { + frescan_contract_t contract; + frescan_node_t node; + frescan_ss_t ss; + frescan_sa_final_values_t final_values; + struct list_head list; +} frescan_sa_contract_t; + +typedef struct { + frescan_prio_t max_prio; + frescan_prio_t min_prio; +} frescan_sa_init_params_t; + +typedef struct { + frescan_sa_contract_t contracts[FRESCAN_MX_NODES][FRESCAN_MX_IDS]; + frescan_sa_contract_t contracts_head; + frescan_sa_init_params_t init_params; +} frescan_sa_scenario_t; + /** * frescan_prio_queue_t - priority queue * @@ -177,6 +204,7 @@ typedef struct { * @id_fp_queues: the same as id_queues but for fp messages, which have * id=FRESCAN_MX_IDS and are distinguised through their * priorities. + * @scenario: the scheduling analysis scenario for the network * * the implementation can handle several FRESCAN networks at the same time * in the same node, so we need a place to store its internal data. The data @@ -197,6 +225,7 @@ typedef struct { frescan_prio_t last_packet_prio; frescan_packet_t *id_queues[FRESCAN_MX_IDS]; // TODO: alloc at init frescan_packet_t *id_fp_queues[FRESCAN_MX_PRIOS]; // TODO: alloc at init + frescan_sa_scenario_t scenario; } frescan_network_data_t; extern frescan_network_data_t the_networks[FRESCAN_MX_NETWORKS]; @@ -208,6 +237,4 @@ extern frescan_network_data_t the_networks[FRESCAN_MX_NETWORKS]; extern int frescan_data_init(int fd, frescan_init_params_t *params); - - #endif // _MARTE_FRESCAN_DATA_H_