2013-05-28 19:57:38 +00:00
|
|
|
package raft
|
|
|
|
|
|
|
|
//------------------------------------------------------------------------------
|
|
|
|
//
|
|
|
|
// Typedefs
|
|
|
|
//
|
|
|
|
//------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
// Transporter is the interface for allowing the host application to transport
|
|
|
|
// requests to other nodes.
|
|
|
|
type Transporter interface {
|
2013-07-07 20:21:04 +00:00
|
|
|
SendVoteRequest(server *Server, peer *Peer, req *RequestVoteRequest) *RequestVoteResponse
|
|
|
|
SendAppendEntriesRequest(server *Server, peer *Peer, req *AppendEntriesRequest) *AppendEntriesResponse
|
|
|
|
SendSnapshotRequest(server *Server, peer *Peer, req *SnapshotRequest) *SnapshotResponse
|
2013-07-17 00:40:19 +00:00
|
|
|
SendSnapshotRecoveryRequest(server *Server, peer *Peer, req *SnapshotRecoveryRequest) *SnapshotRecoveryResponse
|
2013-05-28 19:57:38 +00:00
|
|
|
}
|