The mechanism to request should be configurable
For example, behavior like:
if Server::broadcast_proposal_response(proposal.clone(), peer.clone().location, node_ip.clone(), ProposalStatus::Accepted).is_ok() {
DB::update_proposal(proposal.clone(), "accepted_broadcasted");
} else {
...
}
should be requested first, or only allowed to be submitted to a node if the node states it is available to receive requests.