7 int b[N] = { 10, 20, 30 };
9 int main(int argc, char *argv[])
12 frsh_contract_t contract[N];
13 frsh_vres_id_t vres[N];
14 frsh_rel_time_t budget, period, deadline;
15 frsh_signal_info_t si;
19 if (ret) PERROR_AND_EXIT(ret, "frsh_init");
21 /* Negotiate N contracts */
23 ret = frsh_contract_init(&contract[i]);
24 if (ret) PERROR_AND_EXIT(ret, "frsh_contract_init");
26 ret = frsh_contract_set_resource_and_label(
28 FRSH_RT_NETWORK, FRSH_NETPF_FWP,
30 if (ret) PERROR_AND_EXIT(ret, "frsh_contract_set_resource_and_label");
32 frsh_network_bytes_to_budget(FRSH_NETPF_FWP, b[i], &budget);
33 period = fosa_msec_to_rel_time(1000);
34 deadline = fosa_msec_to_rel_time(500);
35 ret = frsh_contract_set_basic_params(&contract[i],
40 if (ret) PERROR_AND_EXIT(ret, "frsh_contract_set_basic_params");
42 ret = frsh_contract_set_timing_reqs(&contract[i],
45 if (ret) PERROR_AND_EXIT(ret, "frsh_contract_set_timing_reqs");
47 ret = frsh_contract_negotiate(&contract[i], &vres[i]);
48 if (ret) PERROR_AND_EXIT(ret, "frsh_contract_negotiate");
51 frsh_network_bytes_to_budget(FRSH_NETPF_FWP, 2*b[i], &budget);
52 period = fosa_msec_to_rel_time(1100);
53 ret = frsh_contract_set_basic_params(&contract[i],
58 if (ret) PERROR_AND_EXIT(ret, "frsh_contract_set_basic_params reneg");
60 ret = frsh_contract_renegotiate_sync(&contract[i], vres[i]);
64 /* Cancel N contracts */
66 ret = frsh_contract_cancel(vres[i]);
67 if (ret) PERROR_AND_EXIT(ret, "frsh_contract_cancel");