Documentation ¶
Index ¶
- Constants
- Variables
- func BytesCopy(dest []byte, src []byte) int
- func FirstAddr(multiAddr ps.MultiAddr) ps.Addr
- func MultiAddrToRPCMap(addr ps.MultiAddr) map[string]string
- func ReadN(reader io.Reader, b []byte) (int, error)
- func ReadRequest(reader *bufio.Reader, decoder Decoder) (ev.RequestEvent, error)
- func ReadResponse(reader *bufio.Reader, decoder Decoder) (ev.Event, error)
- func WriteEvent(writer *bufio.Writer, encoder Encoder, event ev.Event) error
- func WriteN(writer io.Writer, b []byte) (int, error)
- type BufferedTransport
- type Client
- type Connection
- type Decoder
- type Encoder
- type EventHandler
- type FileTransport
- type FramedTransport
- type HTTPTransport
- type MemoryClient
- type MemoryConnection
- type MemoryServer
- type MemoryServerTransport
- func (self *MemoryServerTransport) Addr() ps.MultiAddr
- func (self *MemoryServerTransport) Close() error
- func (self *MemoryServerTransport) Open() error
- func (self *MemoryServerTransport) Read(p []byte) (int, error)
- func (self *MemoryServerTransport) ReadChunk() (*TransportChunk, error)
- func (self *MemoryServerTransport) ReadNextMessage() *TransportChunk
- func (self *MemoryServerTransport) Write(p []byte) (int, error)
- func (self *MemoryServerTransport) WriteChunk(chunk *TransportChunk) error
- type MemoryTransport
- type MemoryTransportRegister
- func (self *MemoryTransportRegister) Get(id string) (transport *MemoryServerTransport, ok bool)
- func (self *MemoryTransportRegister) Register(id string, transport *MemoryServerTransport)
- func (self *MemoryTransportRegister) Reset() error
- func (self *MemoryTransportRegister) String() string
- func (self *MemoryTransportRegister) Unregister(id string) error
- type RPCAppendEntriesRequest
- type RPCAppendEntriesResponse
- type RPCAuth
- type RPCClient
- type RPCClientAppendRequest
- type RPCClientChangeConfigRequest
- type RPCClientGetConfigRequest
- type RPCClientReadOnlyRequest
- type RPCClientResponse
- type RPCClientService
- func (self *RPCClientService) Append(args *RPCClientAppendRequest, reply *RPCClientResponse) error
- func (self *RPCClientService) ChangeConfig(args *RPCClientChangeConfigRequest, reply *RPCClientResponse) error
- func (self *RPCClientService) GetConfig(args *RPCClientGetConfigRequest, reply *RPCClientResponse) error
- func (self *RPCClientService) ReadOnly(args *RPCClientReadOnlyRequest, reply *RPCClientResponse) error
- type RPCConnection
- type RPCInstallSnapshotRequest
- type RPCInstallSnapshotResponse
- type RPCRaftService
- func (self *RPCRaftService) AppendEntries(args *RPCAppendEntriesRequest, reply *RPCAppendEntriesResponse) error
- func (self *RPCRaftService) InstallStapshot(args *RPCInstallSnapshotRequest, reply *RPCInstallSnapshotResponse) error
- func (self *RPCRaftService) RequestVote(args *RPCRequestVoteRequest, reply *RPCRequestVoteResponse) error
- type RPCRequestVoteRequest
- type RPCRequestVoteResponse
- type RPCResultType
- type RPCServer
- type RequestEventHandler
- type Server
- type SocketClient
- type SocketConnection
- type SocketNetworkLayer
- type SocketServer
- type SocketTransport
- func (self *SocketTransport) Close() error
- func (self *SocketTransport) Open() error
- func (self *SocketTransport) PeerAddr() net.Addr
- func (self *SocketTransport) Read(b []byte) (int, error)
- func (self *SocketTransport) SetReadTimeout(timeout time.Duration)
- func (self *SocketTransport) SetWriteTimeout(timeout time.Duration)
- func (self *SocketTransport) Write(b []byte) (int, error)
- type TcpKeepAliveListener
- type Transport
- type TransportChunk
Constants ¶
View Source
const (
DefaultTransportBufferSize = 16
)
Variables ¶
Functions ¶
func ReadRequest ¶
Types ¶
type Connection ¶
type EventHandler ¶
type HTTPTransport ¶
type HTTPTransport struct {
// contains filtered or unexported fields
}
func NewHTTPTransport ¶
func NewHTTPTransport(url string) *HTTPTransport
func (*HTTPTransport) Close ¶
func (self *HTTPTransport) Close() error
func (*HTTPTransport) Open ¶
func (self *HTTPTransport) Open() error
type MemoryClient ¶
type MemoryClient struct {
// contains filtered or unexported fields
}
func NewMemoryClient ¶
func NewMemoryClient( poolSize int, timeout time.Duration, register *MemoryTransportRegister) *MemoryClient
func (*MemoryClient) Close ¶
func (self *MemoryClient) Close() error
type MemoryConnection ¶
type MemoryConnection struct { *MemoryTransport // contains filtered or unexported fields }
func NewMemoryConnection ¶
func NewMemoryConnection( addr ps.MultiAddr, timeout time.Duration, register *MemoryTransportRegister) *MemoryConnection
type MemoryServer ¶
type MemoryServer struct {
// contains filtered or unexported fields
}
func NewMemoryServer ¶
func NewMemoryServer( bindAddr ps.MultiAddr, timeout time.Duration, eventHandler RequestEventHandler, register *MemoryTransportRegister, logger logging.Logger) *MemoryServer
func (*MemoryServer) Close ¶
func (self *MemoryServer) Close() error
func (*MemoryServer) Serve ¶
func (self *MemoryServer) Serve()
type MemoryServerTransport ¶
type MemoryServerTransport struct { ConsumeCh chan *TransportChunk ResponseCh chan []byte // contains filtered or unexported fields }
func NewMemoryServerTransport ¶
func NewMemoryServerTransport( addr ps.MultiAddr, timeout time.Duration, register *MemoryTransportRegister) *MemoryServerTransport
func (*MemoryServerTransport) Addr ¶
func (self *MemoryServerTransport) Addr() ps.MultiAddr
func (*MemoryServerTransport) Close ¶
func (self *MemoryServerTransport) Close() error
func (*MemoryServerTransport) Open ¶
func (self *MemoryServerTransport) Open() error
func (*MemoryServerTransport) ReadChunk ¶
func (self *MemoryServerTransport) ReadChunk() (*TransportChunk, error)
func (*MemoryServerTransport) ReadNextMessage ¶
func (self *MemoryServerTransport) ReadNextMessage() *TransportChunk
func (*MemoryServerTransport) Write ¶
func (self *MemoryServerTransport) Write(p []byte) (int, error)
func (*MemoryServerTransport) WriteChunk ¶
func (self *MemoryServerTransport) WriteChunk(chunk *TransportChunk) error
type MemoryTransport ¶
type MemoryTransport struct {
// contains filtered or unexported fields
}
func NewMemoryTransport ¶
func NewMemoryTransport( addr ps.MultiAddr, timeout time.Duration, register *MemoryTransportRegister) *MemoryTransport
func (*MemoryTransport) Close ¶
func (self *MemoryTransport) Close() error
func (*MemoryTransport) Open ¶
func (self *MemoryTransport) Open() error
func (*MemoryTransport) PeerAddr ¶
func (self *MemoryTransport) PeerAddr() ps.MultiAddr
type MemoryTransportRegister ¶
func NewMemoryTransportRegister ¶
func NewMemoryTransportRegister() *MemoryTransportRegister
func (*MemoryTransportRegister) Get ¶
func (self *MemoryTransportRegister) Get( id string) (transport *MemoryServerTransport, ok bool)
func (*MemoryTransportRegister) Register ¶
func (self *MemoryTransportRegister) Register( id string, transport *MemoryServerTransport)
func (*MemoryTransportRegister) Reset ¶
func (self *MemoryTransportRegister) Reset() error
func (*MemoryTransportRegister) String ¶
func (self *MemoryTransportRegister) String() string
func (*MemoryTransportRegister) Unregister ¶
func (self *MemoryTransportRegister) Unregister(id string) error
type RPCAppendEntriesRequest ¶
type RPCAppendEntriesRequest ev.AppendEntriesRequest
type RPCAppendEntriesResponse ¶
type RPCAppendEntriesResponse struct {
Response *ev.AppendEntriesResponse
}
type RPCClient ¶
type RPCClient struct {
// contains filtered or unexported fields
}
type RPCClientAppendRequest ¶
type RPCClientAppendRequest ev.ClientAppendRequest
type RPCClientChangeConfigRequest ¶
type RPCClientChangeConfigRequest ev.ClientChangeConfigRequest
type RPCClientGetConfigRequest ¶
type RPCClientGetConfigRequest ev.ClientGetConfigRequest
type RPCClientReadOnlyRequest ¶
type RPCClientReadOnlyRequest ev.ClientReadOnlyRequest
type RPCClientResponse ¶
type RPCClientResponse struct { Result RPCResultType Data []byte Conf *ps.Config Leader *ps.ServerAddress Error string }
type RPCClientService ¶
type RPCClientService struct {
// contains filtered or unexported fields
}
func NewRPCClientService ¶
func NewRPCClientService(eventHandler RequestEventHandler) *RPCClientService
func (*RPCClientService) Append ¶
func (self *RPCClientService) Append( args *RPCClientAppendRequest, reply *RPCClientResponse) error
func (*RPCClientService) ChangeConfig ¶
func (self *RPCClientService) ChangeConfig( args *RPCClientChangeConfigRequest, reply *RPCClientResponse) error
func (*RPCClientService) GetConfig ¶
func (self *RPCClientService) GetConfig( args *RPCClientGetConfigRequest, reply *RPCClientResponse) error
func (*RPCClientService) ReadOnly ¶
func (self *RPCClientService) ReadOnly( args *RPCClientReadOnlyRequest, reply *RPCClientResponse) error
type RPCConnection ¶
type RPCConnection struct {
// contains filtered or unexported fields
}
func NewRPCConnection ¶
func (*RPCConnection) Close ¶
func (self *RPCConnection) Close() error
func (*RPCConnection) Open ¶
func (self *RPCConnection) Open() error
func (*RPCConnection) PeerAddr ¶
func (self *RPCConnection) PeerAddr() ps.MultiAddr
type RPCInstallSnapshotRequest ¶
type RPCInstallSnapshotRequest ev.InstallSnapshotRequest
type RPCInstallSnapshotResponse ¶
type RPCInstallSnapshotResponse struct {
Response *ev.InstallSnapshotResponse
}
type RPCRaftService ¶
type RPCRaftService struct {
// contains filtered or unexported fields
}
func NewRPCRaftService ¶
func NewRPCRaftService(eventHandler RequestEventHandler) *RPCRaftService
func (*RPCRaftService) AppendEntries ¶
func (self *RPCRaftService) AppendEntries( args *RPCAppendEntriesRequest, reply *RPCAppendEntriesResponse) error
func (*RPCRaftService) InstallStapshot ¶
func (self *RPCRaftService) InstallStapshot( args *RPCInstallSnapshotRequest, reply *RPCInstallSnapshotResponse) error
func (*RPCRaftService) RequestVote ¶
func (self *RPCRaftService) RequestVote( args *RPCRequestVoteRequest, reply *RPCRequestVoteResponse) error
type RPCRequestVoteRequest ¶
type RPCRequestVoteRequest ev.RequestVoteRequest
type RPCRequestVoteResponse ¶
type RPCRequestVoteResponse struct {
Response *ev.RequestVoteResponse
}
type RPCResultType ¶
type RPCResultType int
const ( RPCResultUnknown RPCResultType = iota RPCResultSuccess RPCResultFail RPCResultLeaderUnknown RPCResultLeaderUnsync RPCResultLeaderRedirect RPCResultLeaderInMemberChange RPCResultPersistError RPCResultGetConfig )
type RPCServer ¶
type RPCServer struct {
// contains filtered or unexported fields
}
func NewRPCServer ¶
func (*RPCServer) SetReadTimeout ¶
func (*RPCServer) SetWriteTimeout ¶
type RequestEventHandler ¶
type RequestEventHandler func(ev.RequestEvent)
type SocketClient ¶
type SocketClient struct {
// contains filtered or unexported fields
}
func NewSocketClient ¶
func NewSocketClient(poolSize int, timeout time.Duration) *SocketClient
func (*SocketClient) Close ¶
func (self *SocketClient) Close() error
type SocketConnection ¶
type SocketConnection struct { *SocketTransport // contains filtered or unexported fields }
func NewSocketConnection ¶
func NewSocketConnection( addr net.Addr, timeout time.Duration) *SocketConnection
type SocketNetworkLayer ¶
type SocketNetworkLayer struct { *SocketClient *SocketServer }
func NewSocketNetworkLayer ¶
func NewSocketNetworkLayer( client *SocketClient, server *SocketServer) *SocketNetworkLayer
type SocketServer ¶
type SocketServer struct {
// contains filtered or unexported fields
}
func NewSocketServer ¶
func NewSocketServer( bindAddr net.Addr, timeout time.Duration, eventHandler RequestEventHandler, logger logging.Logger) (*SocketServer, error)
func (*SocketServer) Close ¶
func (self *SocketServer) Close() error
func (*SocketServer) Serve ¶
func (self *SocketServer) Serve()
func (*SocketServer) SetReadTimeout ¶
func (self *SocketServer) SetReadTimeout(timeout time.Duration)
func (*SocketServer) SetWriteTimeout ¶
func (self *SocketServer) SetWriteTimeout(timeout time.Duration)
type SocketTransport ¶
type SocketTransport struct {
// contains filtered or unexported fields
}
func NewSocketTransport ¶
func NewSocketTransport(addr net.Addr, timeout time.Duration) *SocketTransport
func (*SocketTransport) Close ¶
func (self *SocketTransport) Close() error
func (*SocketTransport) Open ¶
func (self *SocketTransport) Open() error
func (*SocketTransport) PeerAddr ¶
func (self *SocketTransport) PeerAddr() net.Addr
func (*SocketTransport) SetReadTimeout ¶
func (self *SocketTransport) SetReadTimeout(timeout time.Duration)
func (*SocketTransport) SetWriteTimeout ¶
func (self *SocketTransport) SetWriteTimeout(timeout time.Duration)
type TcpKeepAliveListener ¶
type TcpKeepAliveListener struct {
*net.TCPListener
}
Copied from net.http.server.go
tcpKeepAliveListener sets TCP keep-alive timeouts on accepted connections. It's used by ListenAndServe and ListenAndServeTLS so dead TCP connections (e.g. closing laptop mid-download) eventually go away.
type TransportChunk ¶
Click to show internal directories.
Click to hide internal directories.