remoting

package
v0.1.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 16, 2022 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrConnectionClosed = errors.New("connection closed")
View Source
var ErrInsufficientServers = errors.New("insufficient servers available")

Functions

This section is empty.

Types

type BroadcastWrapper added in v0.1.6

type BroadcastWrapper struct {
	// contains filtered or unexported fields
}

BroadcastWrapper is a helper for when you always want to broadcast to the same servers

func NewBroadcastWrapper added in v0.1.6

func NewBroadcastWrapper(serverAddresses ...string) *BroadcastWrapper

func (*BroadcastWrapper) Broadcast added in v0.1.6

func (b *BroadcastWrapper) Broadcast(request ClusterMessage) error

func (*BroadcastWrapper) Stop added in v0.1.6

func (b *BroadcastWrapper) Stop()

type Broadcaster added in v0.1.6

type Broadcaster interface {
	Broadcast(request ClusterMessage) error
	Stop()
}

type Client

type Client struct {
	// contains filtered or unexported fields
}

func (*Client) Broadcast added in v0.1.6

func (c *Client) Broadcast(request ClusterMessage, minServers int, serverAddresses ...string) error

func (*Client) BroadcastOneWay added in v0.1.6

func (c *Client) BroadcastOneWay(request ClusterMessage, serverAddresses ...string)

func (*Client) SendRPC added in v0.1.6

func (c *Client) SendRPC(request ClusterMessage, serverAddress string) (ClusterMessage, error)

func (*Client) Stop

func (c *Client) Stop()

type ClusterMessage

type ClusterMessage = proto.Message

ClusterMessage protos live in protos/squareup/cash/pranadb/clustermsgs.proto

func DeserializeClusterMessage

func DeserializeClusterMessage(data []byte) (ClusterMessage, error)

type ClusterMessageHandler

type ClusterMessageHandler interface {
	HandleMessage(clusterMessage ClusterMessage) (ClusterMessage, error)
}

type ClusterMessageType

type ClusterMessageType int32
const (
	ClusterMessageTypeUnknown ClusterMessageType = iota + 1
	ClusterMessageDDLStatement
	ClusterMessageDDLCancel
	ClusterMessageReloadProtobuf
	ClusterMessageClusterProposeRequest
	ClusterMessageClusterProposeResponse
	ClusterMessageClusterReadRequest
	ClusterMessageClusterReadResponse
	ClusterMessageForwardWriteRequest
	ClusterMessageForwardWriteResponse
	ClusterMessageSourceSetMaxRate
	ClusterMessageLeaderInfos
	ClusterMessageRemotingTestMessage
)

func TypeForClusterMessage

func TypeForClusterMessage(clusterMessage ClusterMessage) ClusterMessageType

type ClusterRequest

type ClusterRequest struct {
	// contains filtered or unexported fields
}

type ClusterResponse

type ClusterResponse struct {
	// contains filtered or unexported fields
}

type FakeClient added in v0.1.6

type FakeClient struct {
	// contains filtered or unexported fields
}

func NewFakeClient added in v0.1.6

func NewFakeClient(fakeServer *FakeServer) *FakeClient

func (*FakeClient) Broadcast added in v0.1.6

func (f *FakeClient) Broadcast(clusterMsg ClusterMessage) error

func (*FakeClient) Stop added in v0.1.6

func (f *FakeClient) Stop()

type FakeServer

type FakeServer struct {
	// contains filtered or unexported fields
}

func NewFakeServer

func NewFakeServer() *FakeServer

func (*FakeServer) ConnectionCount

func (f *FakeServer) ConnectionCount() int

func (*FakeServer) RegisterMessageHandler

func (f *FakeServer) RegisterMessageHandler(clusterMsgType ClusterMessageType, listener ClusterMessageHandler)

func (*FakeServer) ServerAddresses added in v0.1.6

func (f *FakeServer) ServerAddresses() []string

func (*FakeServer) Start

func (f *FakeServer) Start() error

func (*FakeServer) Stop

func (f *FakeServer) Stop() error

type RPCSender added in v0.1.6

type RPCSender interface {
	SendRPC(request ClusterMessage) (ClusterMessage, error)
	Stop()
}

type RPCWrapper added in v0.1.6

type RPCWrapper struct {
	// contains filtered or unexported fields
}

RPCWrapper is a helper for when you always want to RPC to the same server

func NewRPCWrapper added in v0.1.6

func NewRPCWrapper(serverAddress string) *RPCWrapper

func (*RPCWrapper) SendRPC added in v0.1.6

func (r *RPCWrapper) SendRPC(request ClusterMessage) (ClusterMessage, error)

func (*RPCWrapper) Stop added in v0.1.6

func (r *RPCWrapper) Stop()

type Server

type Server interface {
	Start() error

	Stop() error

	RegisterMessageHandler(messageType ClusterMessageType, listener ClusterMessageHandler)
}

func NewServer

func NewServer(listenAddress string) Server

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL