void sender_poll_msgs(void* s) { sender_t* me = s; msg_t* m; while ((m = llqueue_poll(me->inbox))) { switch (m->type) { case RAFT_MSG_APPENDENTRIES: raft_recv_appendentries(me->raft, m->sender, m->data); break; case RAFT_MSG_APPENDENTRIES_RESPONSE: raft_recv_appendentries_response(me->raft, m->sender, m->data); break; case RAFT_MSG_REQUESTVOTE: raft_recv_requestvote(me->raft, m->sender, m->data); break; case RAFT_MSG_REQUESTVOTE_RESPONSE: raft_recv_requestvote_response(me->raft, m->sender, m->data); break; case RAFT_MSG_ENTRY: raft_recv_entry(me->raft, m->sender, m->data); break; case RAFT_MSG_ENTRY_RESPONSE: //raft_recv_entry_response(me->raft, m->sender, m->data); break; } } }
int RaftConsensus::onReceivedAppendEntriesResponse(const Connection::Ptr& pConnection, msg_appendentries_response_t& data) { OSS::mutex_lock lock(_raftMutex); return raft_recv_appendentries_response(_raft, pConnection->getNode().node(), &data); }