int consensus_submit_request(struct consensus_component_t* comp, size_t data_size,void* data,view_stamp* vs){ if(LEADER==comp->my_role){ return leader_handle_submit_req(comp,data_size,data,vs); }else{ return forward_submit_req(comp,data_size,data); } }
static void handle_forward_req(consensus_component* comp,void* data){ if(comp->my_role!=LEADER){goto handle_forward_req_exit;} forward_req* msg = data; leader_handle_submit_req(comp,msg->data_size,msg->data,NULL); handle_forward_req_exit: return; }
int consensus_submit_request(struct consensus_component_t* comp, size_t data_size,void* data,view_stamp* vs){ if(LEADER==comp->my_role){ return leader_handle_submit_req(comp,data_size,data,vs); }else{ // Disable the forwarding ability of secondary /*return forward_submit_req(comp,data_size,data);*/ return 0; } }