Documentation
¶
Index ¶
- func NewChordApiClient(hostNode *chord.LocalNode, olPeer *overlay.OverlayPeer, proxyAddress *string, ...) chord.Transport
- func NewDummyTCPListener(listenAddrStr string) net.Listener
- type ApiClient
- func (c *ApiClient) DeleteValueInnerRPC(ctx context.Context, to *model.NodeRef, key *string) (bool, error)
- func (c *ApiClient) FindClosestPrecedingNodeRPC(ctx context.Context, to *model.NodeRef, id model.HashID) (chord.RingNode, error)
- func (c *ApiClient) FindSuccessorByListRPC(ctx context.Context, to *model.NodeRef, id model.HashID) (chord.RingNode, error)
- func (c *ApiClient) FindSuccessorByTableRPC(ctx context.Context, to *model.NodeRef, id model.HashID) (chord.RingNode, error)
- func (c *ApiClient) GetValueInnerRPC(ctx context.Context, to *model.NodeRef, key *string) (*string, bool, error)
- func (c *ApiClient) NotifyRPC(ctx context.Context, to *model.NodeRef, node *model.NodeRef) error
- func (c *ApiClient) PingRPC(ctx context.Context, to *model.NodeRef) error
- func (c *ApiClient) PredecessorRPC(ctx context.Context, to *model.NodeRef) (chord.RingNode, error)
- func (c *ApiClient) PutValueInnerRPC(ctx context.Context, to *model.NodeRef, key *string, value *string) (bool, error)
- func (c *ApiClient) Shutdown()
- func (c *ApiClient) SuccessorsRPC(ctx context.Context, to *model.NodeRef) ([]chord.RingNode, error)
- type DummyTCPConn
- type DummyTCPListener
- type ExternalServer
- func (g *ExternalServer) DeleteValue(ctx context.Context, req *connect.Request[server2.DeleteValueRequest]) (*connect.Response[server2.DeleteValueResponse], error)
- func (g *ExternalServer) FindHostForKey(ctx context.Context, req *connect.Request[server2.FindHostRequest]) (*connect.Response[server2.Node], error)
- func (g *ExternalServer) GetValue(ctx context.Context, req *connect.Request[server2.GetValueRequest]) (*connect.Response[server2.GetValueResponse], error)
- func (g *ExternalServer) PutValue(ctx context.Context, req *connect.Request[server2.PutValueRequest]) (*connect.Response[server2.PutValueResponse], error)
- func (g *ExternalServer) Run()
- func (g *ExternalServer) Shutdown()
- type InternalServer
- func (is *InternalServer) DeleteValueInner(ctx context.Context, req *connect.Request[server.DeleteValueInnerRequest]) (*connect.Response[server.DeleteValueInnerResponse], error)
- func (is *InternalServer) FindClosestPrecedingNode(ctx context.Context, req *connect.Request[server.FindRequest]) (*connect.Response[server.Node], error)
- func (is *InternalServer) FindSuccessorByList(ctx context.Context, req *connect.Request[server.FindRequest]) (*connect.Response[server.Node], error)
- func (is *InternalServer) FindSuccessorByTable(ctx context.Context, req *connect.Request[server.FindRequest]) (*connect.Response[server.Node], error)
- func (is *InternalServer) GetValueInner(ctx context.Context, req *connect.Request[server.GetValueInnerRequest]) (*connect.Response[server.GetValueInnerResponse], error)
- func (is *InternalServer) Notify(ctx context.Context, req *connect.Request[server.Node]) (*connect.Response[emptypb.Empty], error)
- func (is *InternalServer) Ping(_ context.Context, _ *connect.Request[emptypb.Empty]) (*connect.Response[emptypb.Empty], error)
- func (is *InternalServer) Predecessor(ctx context.Context, _ *connect.Request[emptypb.Empty]) (*connect.Response[server.Node], error)
- func (is *InternalServer) PutValueInner(ctx context.Context, req *connect.Request[server.PutValueInnerRequest]) (*connect.Response[server.PutValueInnerResponse], error)
- func (is *InternalServer) Run(ctx context.Context)
- func (is *InternalServer) Shutdown()
- func (is *InternalServer) Successors(ctx context.Context, req *connect.Request[emptypb.Empty]) (*connect.Response[server.Nodes], error)
- type InternalServerOptionFunc
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewChordApiClient ¶
func NewDummyTCPListener ¶ added in v0.0.6
Types ¶
type ApiClient ¶
type ApiClient struct {
// contains filtered or unexported fields
}
func (*ApiClient) DeleteValueInnerRPC ¶
func (*ApiClient) FindClosestPrecedingNodeRPC ¶
func (*ApiClient) FindSuccessorByListRPC ¶
func (*ApiClient) FindSuccessorByTableRPC ¶
func (*ApiClient) GetValueInnerRPC ¶
func (*ApiClient) PredecessorRPC ¶
func (*ApiClient) PutValueInnerRPC ¶
type DummyTCPConn ¶ added in v0.0.6
func NewDummyTCPConn ¶ added in v0.0.6
func NewDummyTCPConn(orgTCPConn *net.Conn, dummyRemoteAddr net.Addr) *DummyTCPConn
func (*DummyTCPConn) RemoteAddr ¶ added in v0.0.6
func (dtc *DummyTCPConn) RemoteAddr() net.Addr
type DummyTCPListener ¶ added in v0.0.6
type DummyTCPListener struct {
net.TCPListener
}
type ExternalServer ¶
type ExternalServer struct {
// contains filtered or unexported fields
}
ExternalServer represents gRPC server to expose for gord users
func NewExternalServer ¶
func NewExternalServer(process *chord.Process, port string) *ExternalServer
NewExternalServer creates an gRPC server to expose
func (*ExternalServer) DeleteValue ¶
func (g *ExternalServer) DeleteValue(ctx context.Context, req *connect.Request[server2.DeleteValueRequest]) (*connect.Response[server2.DeleteValueResponse], error)
func (*ExternalServer) FindHostForKey ¶
func (g *ExternalServer) FindHostForKey(ctx context.Context, req *connect.Request[server2.FindHostRequest]) (*connect.Response[server2.Node], error)
FindHostForKey search for a given key's node. It is implemented for PublicService.
func (*ExternalServer) GetValue ¶
func (g *ExternalServer) GetValue(ctx context.Context, req *connect.Request[server2.GetValueRequest]) (*connect.Response[server2.GetValueResponse], error)
func (*ExternalServer) PutValue ¶
func (g *ExternalServer) PutValue(ctx context.Context, req *connect.Request[server2.PutValueRequest]) (*connect.Response[server2.PutValueResponse], error)
func (*ExternalServer) Shutdown ¶
func (g *ExternalServer) Shutdown()
Shutdown shutdowns gRPC server.
type InternalServer ¶
type InternalServer struct {
// contains filtered or unexported fields
}
InternalServer represents gRPC server to expose for internal chord processes
func NewChordServer ¶
func NewChordServer(process *chord.Process, olPeer *overlay.OverlayPeer, port string, opts ...InternalServerOptionFunc) *InternalServer
NewChordServer creates a chord server
func (*InternalServer) DeleteValueInner ¶
func (is *InternalServer) DeleteValueInner(ctx context.Context, req *connect.Request[server.DeleteValueInnerRequest]) (*connect.Response[server.DeleteValueInnerResponse], error)
func (*InternalServer) FindClosestPrecedingNode ¶
func (*InternalServer) FindSuccessorByList ¶
func (*InternalServer) FindSuccessorByTable ¶
func (*InternalServer) GetValueInner ¶
func (is *InternalServer) GetValueInner(ctx context.Context, req *connect.Request[server.GetValueInnerRequest]) (*connect.Response[server.GetValueInnerResponse], error)
func (*InternalServer) Predecessor ¶
func (*InternalServer) PutValueInner ¶
func (is *InternalServer) PutValueInner(ctx context.Context, req *connect.Request[server.PutValueInnerRequest]) (*connect.Response[server.PutValueInnerResponse], error)
func (*InternalServer) Run ¶
func (is *InternalServer) Run(ctx context.Context)
Run runs chord server.
func (*InternalServer) Shutdown ¶
func (is *InternalServer) Shutdown()
type InternalServerOptionFunc ¶
type InternalServerOptionFunc func(option *chordOption)
InternalServerOptionFunc represents server options for internal
func WithNodeOption ¶
func WithNodeOption(host string) InternalServerOptionFunc
func WithProcessOptions ¶
func WithProcessOptions(opts ...chord.ProcessOptionFunc) InternalServerOptionFunc
func WithTimeoutConnNode ¶
func WithTimeoutConnNode(duration time.Duration) InternalServerOptionFunc
Click to show internal directories.
Click to hide internal directories.