gossip

package
v0.10.9 Latest Latest
Warning

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

Go to latest
Published: Mar 25, 2022 License: Apache-2.0 Imports: 24 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidLengthProtocol        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowProtocol          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupProtocol = fmt.Errorf("proto: unexpected end of group")
)

Functions

func RegisterGossipProtocolServer

func RegisterGossipProtocolServer(s *grpc.Server, srv GossipProtocolServer)

func RegisterGossipServer

func RegisterGossipServer(server *grpc.Server, manager *Manager)

func RegisterPrimitiveServer

func RegisterPrimitiveServer(server *grpc.Server)

Types

type Advertise struct {
	Header          GossipHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header"`
	meta.ObjectMeta `protobuf:"bytes,2,opt,name=meta,proto3,embedded=meta" json:"meta"`
	Key             string `protobuf:"bytes,3,opt,name=key,proto3" json:"key,omitempty"`
}

func (*Advertise) Descriptor

func (*Advertise) Descriptor() ([]byte, []int)

func (*Advertise) GetHeader

func (m *Advertise) GetHeader() GossipHeader

func (*Advertise) GetKey

func (m *Advertise) GetKey() string

func (*Advertise) Marshal

func (m *Advertise) Marshal() (dAtA []byte, err error)

func (*Advertise) MarshalTo

func (m *Advertise) MarshalTo(dAtA []byte) (int, error)

func (*Advertise) MarshalToSizedBuffer

func (m *Advertise) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Advertise) ProtoMessage

func (*Advertise) ProtoMessage()

func (*Advertise) Reset

func (m *Advertise) Reset()

func (*Advertise) Size

func (m *Advertise) Size() (n int)

func (*Advertise) String

func (m *Advertise) String() string

func (*Advertise) Unmarshal

func (m *Advertise) Unmarshal(dAtA []byte) error

func (*Advertise) XXX_DiscardUnknown

func (m *Advertise) XXX_DiscardUnknown()

func (*Advertise) XXX_Marshal

func (m *Advertise) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Advertise) XXX_Merge

func (m *Advertise) XXX_Merge(src proto.Message)

func (*Advertise) XXX_Size

func (m *Advertise) XXX_Size() int

func (*Advertise) XXX_Unmarshal

func (m *Advertise) XXX_Unmarshal(b []byte) error

type GossipHeader

type GossipHeader struct {
	Timestamp meta.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp"`
}

func (*GossipHeader) Descriptor

func (*GossipHeader) Descriptor() ([]byte, []int)

func (*GossipHeader) GetTimestamp

func (m *GossipHeader) GetTimestamp() meta.Timestamp

func (*GossipHeader) Marshal

func (m *GossipHeader) Marshal() (dAtA []byte, err error)

func (*GossipHeader) MarshalTo

func (m *GossipHeader) MarshalTo(dAtA []byte) (int, error)

func (*GossipHeader) MarshalToSizedBuffer

func (m *GossipHeader) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*GossipHeader) ProtoMessage

func (*GossipHeader) ProtoMessage()

func (*GossipHeader) Reset

func (m *GossipHeader) Reset()

func (*GossipHeader) Size

func (m *GossipHeader) Size() (n int)

func (*GossipHeader) String

func (m *GossipHeader) String() string

func (*GossipHeader) Unmarshal

func (m *GossipHeader) Unmarshal(dAtA []byte) error

func (*GossipHeader) XXX_DiscardUnknown

func (m *GossipHeader) XXX_DiscardUnknown()

func (*GossipHeader) XXX_Marshal

func (m *GossipHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GossipHeader) XXX_Merge

func (m *GossipHeader) XXX_Merge(src proto.Message)

func (*GossipHeader) XXX_Size

func (m *GossipHeader) XXX_Size() int

func (*GossipHeader) XXX_Unmarshal

func (m *GossipHeader) XXX_Unmarshal(b []byte) error

type GossipMessage

type GossipMessage struct {
	// Types that are valid to be assigned to Message:
	//	*GossipMessage_Initialize
	//	*GossipMessage_Advertise
	//	*GossipMessage_Update
	Message isGossipMessage_Message `protobuf_oneof:"message"`
}

func (*GossipMessage) Descriptor

func (*GossipMessage) Descriptor() ([]byte, []int)

func (*GossipMessage) GetAdvertise

func (m *GossipMessage) GetAdvertise() *Advertise

func (*GossipMessage) GetInitialize

func (m *GossipMessage) GetInitialize() *Initialize

func (*GossipMessage) GetMessage

func (m *GossipMessage) GetMessage() isGossipMessage_Message

func (*GossipMessage) GetUpdate

func (m *GossipMessage) GetUpdate() *Update

func (*GossipMessage) Marshal

func (m *GossipMessage) Marshal() (dAtA []byte, err error)

func (*GossipMessage) MarshalTo

func (m *GossipMessage) MarshalTo(dAtA []byte) (int, error)

func (*GossipMessage) MarshalToSizedBuffer

func (m *GossipMessage) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*GossipMessage) ProtoMessage

func (*GossipMessage) ProtoMessage()

func (*GossipMessage) Reset

func (m *GossipMessage) Reset()

func (*GossipMessage) Size

func (m *GossipMessage) Size() (n int)

func (*GossipMessage) String

func (m *GossipMessage) String() string

func (*GossipMessage) Unmarshal

func (m *GossipMessage) Unmarshal(dAtA []byte) error

func (*GossipMessage) XXX_DiscardUnknown

func (m *GossipMessage) XXX_DiscardUnknown()

func (*GossipMessage) XXX_Marshal

func (m *GossipMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GossipMessage) XXX_Merge

func (m *GossipMessage) XXX_Merge(src proto.Message)

func (*GossipMessage) XXX_OneofWrappers

func (*GossipMessage) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*GossipMessage) XXX_Size

func (m *GossipMessage) XXX_Size() int

func (*GossipMessage) XXX_Unmarshal

func (m *GossipMessage) XXX_Unmarshal(b []byte) error

type GossipMessage_Advertise

type GossipMessage_Advertise struct {
	Advertise *Advertise `protobuf:"bytes,2,opt,name=advertise,proto3,oneof" json:"advertise,omitempty"`
}

func (*GossipMessage_Advertise) MarshalTo

func (m *GossipMessage_Advertise) MarshalTo(dAtA []byte) (int, error)

func (*GossipMessage_Advertise) MarshalToSizedBuffer

func (m *GossipMessage_Advertise) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*GossipMessage_Advertise) Size

func (m *GossipMessage_Advertise) Size() (n int)

type GossipMessage_Initialize

type GossipMessage_Initialize struct {
	Initialize *Initialize `protobuf:"bytes,1,opt,name=initialize,proto3,oneof" json:"initialize,omitempty"`
}

func (*GossipMessage_Initialize) MarshalTo

func (m *GossipMessage_Initialize) MarshalTo(dAtA []byte) (int, error)

func (*GossipMessage_Initialize) MarshalToSizedBuffer

func (m *GossipMessage_Initialize) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*GossipMessage_Initialize) Size

func (m *GossipMessage_Initialize) Size() (n int)

type GossipMessage_Update

type GossipMessage_Update struct {
	Update *Update `protobuf:"bytes,3,opt,name=update,proto3,oneof" json:"update,omitempty"`
}

func (*GossipMessage_Update) MarshalTo

func (m *GossipMessage_Update) MarshalTo(dAtA []byte) (int, error)

func (*GossipMessage_Update) MarshalToSizedBuffer

func (m *GossipMessage_Update) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*GossipMessage_Update) Size

func (m *GossipMessage_Update) Size() (n int)

type GossipProtocolClient

type GossipProtocolClient interface {
	ReadAll(ctx context.Context, in *ReadAllRequest, opts ...grpc.CallOption) (GossipProtocol_ReadAllClient, error)
	Read(ctx context.Context, in *ReadRequest, opts ...grpc.CallOption) (*ReadResponse, error)
	Gossip(ctx context.Context, opts ...grpc.CallOption) (GossipProtocol_GossipClient, error)
}

GossipProtocolClient is the client API for GossipProtocol service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewGossipProtocolClient

func NewGossipProtocolClient(cc *grpc.ClientConn) GossipProtocolClient

type GossipProtocolServer

type GossipProtocolServer interface {
	ReadAll(*ReadAllRequest, GossipProtocol_ReadAllServer) error
	Read(context.Context, *ReadRequest) (*ReadResponse, error)
	Gossip(GossipProtocol_GossipServer) error
}

GossipProtocolServer is the server API for GossipProtocol service.

type GossipProtocol_GossipClient

type GossipProtocol_GossipClient interface {
	Send(*GossipMessage) error
	Recv() (*GossipMessage, error)
	grpc.ClientStream
}

type GossipProtocol_GossipServer

type GossipProtocol_GossipServer interface {
	Send(*GossipMessage) error
	Recv() (*GossipMessage, error)
	grpc.ServerStream
}

type GossipProtocol_ReadAllClient

type GossipProtocol_ReadAllClient interface {
	Recv() (*ReadAllResponse, error)
	grpc.ClientStream
}

type GossipProtocol_ReadAllServer

type GossipProtocol_ReadAllServer interface {
	Send(*ReadAllResponse) error
	grpc.ServerStream
}

type GossipServer

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

func (*GossipServer) Gossip

func (*GossipServer) Read

func (s *GossipServer) Read(ctx context.Context, request *ReadRequest) (*ReadResponse, error)

func (*GossipServer) ReadAll

func (s *GossipServer) ReadAll(request *ReadAllRequest, stream GossipProtocol_ReadAllServer) error

type Initialize

type Initialize struct {
	Header RequestHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header"`
}

func (*Initialize) Descriptor

func (*Initialize) Descriptor() ([]byte, []int)

func (*Initialize) GetHeader

func (m *Initialize) GetHeader() RequestHeader

func (*Initialize) Marshal

func (m *Initialize) Marshal() (dAtA []byte, err error)

func (*Initialize) MarshalTo

func (m *Initialize) MarshalTo(dAtA []byte) (int, error)

func (*Initialize) MarshalToSizedBuffer

func (m *Initialize) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Initialize) ProtoMessage

func (*Initialize) ProtoMessage()

func (*Initialize) Reset

func (m *Initialize) Reset()

func (*Initialize) Size

func (m *Initialize) Size() (n int)

func (*Initialize) String

func (m *Initialize) String() string

func (*Initialize) Unmarshal

func (m *Initialize) Unmarshal(dAtA []byte) error

func (*Initialize) XXX_DiscardUnknown

func (m *Initialize) XXX_DiscardUnknown()

func (*Initialize) XXX_Marshal

func (m *Initialize) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Initialize) XXX_Merge

func (m *Initialize) XXX_Merge(src proto.Message)

func (*Initialize) XXX_Size

func (m *Initialize) XXX_Size() int

func (*Initialize) XXX_Unmarshal

func (m *Initialize) XXX_Unmarshal(b []byte) error

type Manager

type Manager struct {
	Cluster cluster.Cluster
	// contains filtered or unexported fields
}

Manager is a manager for CRDT primitives

func (*Manager) Partition

func (m *Manager) Partition(partitionID PartitionID) (*Partition, error)

func (*Manager) PartitionBy

func (m *Manager) PartitionBy(partitionKey []byte) (*Partition, error)

func (*Manager) PartitionFor

func (m *Manager) PartitionFor(serviceID ServiceId) (*Partition, error)

func (*Manager) PartitionFrom added in v0.6.2

func (m *Manager) PartitionFrom(ctx context.Context) (*Partition, error)

type MemberID

type MemberID string

func (MemberID) String

func (i MemberID) String() string

type NewServiceFunc

type NewServiceFunc func(ctx context.Context, serviceID ServiceId, partition *Partition, clock time.Clock, replicas int) (Service, error)

NewServiceFunc is a function for creating a replica

type Node

type Node struct {
	Cluster cluster.Cluster
	// contains filtered or unexported fields
}

Node is an Atomix node

func NewNode

func NewNode(cluster cluster.Cluster) *Node

NewNode creates a new server node

func (*Node) RegisterServer

func (n *Node) RegisterServer(f RegisterServerFunc)

RegisterServer registers a server

func (*Node) RegisterService

func (n *Node) RegisterService(t ServiceType, f NewServiceFunc)

RegisterService registers a service type

func (*Node) Start

func (n *Node) Start() error

Start starts the node

func (*Node) Stop

func (n *Node) Stop() error

Stop stops the node

type Object

type Object struct {
	meta.ObjectMeta `protobuf:"bytes,1,opt,name=meta,proto3,embedded=meta" json:"meta"`
	Key             string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
	Value           []byte `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
}

func (*Object) Descriptor

func (*Object) Descriptor() ([]byte, []int)

func (*Object) GetKey

func (m *Object) GetKey() string

func (*Object) GetValue

func (m *Object) GetValue() []byte

func (*Object) Marshal

func (m *Object) Marshal() (dAtA []byte, err error)

func (*Object) MarshalTo

func (m *Object) MarshalTo(dAtA []byte) (int, error)

func (*Object) MarshalToSizedBuffer

func (m *Object) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Object) ProtoMessage

func (*Object) ProtoMessage()

func (*Object) Reset

func (m *Object) Reset()

func (*Object) Size

func (m *Object) Size() (n int)

func (*Object) String

func (m *Object) String() string

func (*Object) Unmarshal

func (m *Object) Unmarshal(dAtA []byte) error

func (*Object) XXX_DiscardUnknown

func (m *Object) XXX_DiscardUnknown()

func (*Object) XXX_Marshal

func (m *Object) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Object) XXX_Merge

func (m *Object) XXX_Merge(src proto.Message)

func (*Object) XXX_Size

func (m *Object) XXX_Size() int

func (*Object) XXX_Unmarshal

func (m *Object) XXX_Unmarshal(b []byte) error

type Partition

type Partition struct {
	cluster.Partition

	ID PartitionID
	// contains filtered or unexported fields
}

Partition is a proxy partition

func NewPartition

func NewPartition(p cluster.Partition, registry *Registry) *Partition

NewPartition creates a new proxy partition

func (*Partition) GetService

func (p *Partition) GetService(ctx context.Context, serviceID ServiceId, timestamp *meta.Timestamp) (Service, error)

func (*Partition) RegisterReplica

func (p *Partition) RegisterReplica(replica Replica) error

type PartitionID

type PartitionID int

PartitionID is a partition identifier

type Peer

type Peer struct {
	ID PeerID
	// contains filtered or unexported fields
}

func (*Peer) Advertise

func (p *Peer) Advertise(ctx context.Context, key string, digest meta.ObjectMeta)

func (*Peer) Read

func (p *Peer) Read(ctx context.Context, key string) (*Object, error)

func (*Peer) ReadAll

func (p *Peer) ReadAll(ctx context.Context, ch chan<- Object) error

func (*Peer) Update

func (p *Peer) Update(ctx context.Context, object *Object)

type PeerGroup

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

func NewPeerGroup

func NewPeerGroup(partition *Partition, serviceID ServiceId, clock time.Clock, replicas int) (*PeerGroup, error)

func (*PeerGroup) Advertise

func (g *PeerGroup) Advertise(ctx context.Context, key string, digest meta.ObjectMeta)

func (*PeerGroup) Close

func (g *PeerGroup) Close()

func (*PeerGroup) MemberID

func (g *PeerGroup) MemberID() MemberID

func (*PeerGroup) Peer

func (g *PeerGroup) Peer(id PeerID) *Peer

func (*PeerGroup) Peers

func (g *PeerGroup) Peers() []*Peer

func (*PeerGroup) Read

func (g *PeerGroup) Read(ctx context.Context, key string) ([]Object, error)

func (*PeerGroup) ReadAll

func (g *PeerGroup) ReadAll(ctx context.Context, ch chan<- Object) error

func (*PeerGroup) Update

func (g *PeerGroup) Update(ctx context.Context, object *Object)

type PeerID

type PeerID string

func (PeerID) String

func (i PeerID) String() string

type PrimitiveServer

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

func (*PrimitiveServer) Close

func (*PrimitiveServer) Create

func (*PrimitiveServer) Delete

type ReadAllRequest

type ReadAllRequest struct {
	Header RequestHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header"`
}

func (*ReadAllRequest) Descriptor

func (*ReadAllRequest) Descriptor() ([]byte, []int)

func (*ReadAllRequest) GetHeader

func (m *ReadAllRequest) GetHeader() RequestHeader

func (*ReadAllRequest) Marshal

func (m *ReadAllRequest) Marshal() (dAtA []byte, err error)

func (*ReadAllRequest) MarshalTo

func (m *ReadAllRequest) MarshalTo(dAtA []byte) (int, error)

func (*ReadAllRequest) MarshalToSizedBuffer

func (m *ReadAllRequest) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ReadAllRequest) ProtoMessage

func (*ReadAllRequest) ProtoMessage()

func (*ReadAllRequest) Reset

func (m *ReadAllRequest) Reset()

func (*ReadAllRequest) Size

func (m *ReadAllRequest) Size() (n int)

func (*ReadAllRequest) String

func (m *ReadAllRequest) String() string

func (*ReadAllRequest) Unmarshal

func (m *ReadAllRequest) Unmarshal(dAtA []byte) error

func (*ReadAllRequest) XXX_DiscardUnknown

func (m *ReadAllRequest) XXX_DiscardUnknown()

func (*ReadAllRequest) XXX_Marshal

func (m *ReadAllRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ReadAllRequest) XXX_Merge

func (m *ReadAllRequest) XXX_Merge(src proto.Message)

func (*ReadAllRequest) XXX_Size

func (m *ReadAllRequest) XXX_Size() int

func (*ReadAllRequest) XXX_Unmarshal

func (m *ReadAllRequest) XXX_Unmarshal(b []byte) error

type ReadAllResponse

type ReadAllResponse struct {
	Header ResponseHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header"`
	Object Object         `protobuf:"bytes,2,opt,name=object,proto3" json:"object"`
}

func (*ReadAllResponse) Descriptor

func (*ReadAllResponse) Descriptor() ([]byte, []int)

func (*ReadAllResponse) GetHeader

func (m *ReadAllResponse) GetHeader() ResponseHeader

func (*ReadAllResponse) GetObject

func (m *ReadAllResponse) GetObject() Object

func (*ReadAllResponse) Marshal

func (m *ReadAllResponse) Marshal() (dAtA []byte, err error)

func (*ReadAllResponse) MarshalTo

func (m *ReadAllResponse) MarshalTo(dAtA []byte) (int, error)

func (*ReadAllResponse) MarshalToSizedBuffer

func (m *ReadAllResponse) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ReadAllResponse) ProtoMessage

func (*ReadAllResponse) ProtoMessage()

func (*ReadAllResponse) Reset

func (m *ReadAllResponse) Reset()

func (*ReadAllResponse) Size

func (m *ReadAllResponse) Size() (n int)

func (*ReadAllResponse) String

func (m *ReadAllResponse) String() string

func (*ReadAllResponse) Unmarshal

func (m *ReadAllResponse) Unmarshal(dAtA []byte) error

func (*ReadAllResponse) XXX_DiscardUnknown

func (m *ReadAllResponse) XXX_DiscardUnknown()

func (*ReadAllResponse) XXX_Marshal

func (m *ReadAllResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ReadAllResponse) XXX_Merge

func (m *ReadAllResponse) XXX_Merge(src proto.Message)

func (*ReadAllResponse) XXX_Size

func (m *ReadAllResponse) XXX_Size() int

func (*ReadAllResponse) XXX_Unmarshal

func (m *ReadAllResponse) XXX_Unmarshal(b []byte) error

type ReadRequest

type ReadRequest struct {
	Header          RequestHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header"`
	meta.ObjectMeta `protobuf:"bytes,2,opt,name=meta,proto3,embedded=meta" json:"meta"`
	Key             string `protobuf:"bytes,3,opt,name=key,proto3" json:"key,omitempty"`
}

func (*ReadRequest) Descriptor

func (*ReadRequest) Descriptor() ([]byte, []int)

func (*ReadRequest) GetHeader

func (m *ReadRequest) GetHeader() RequestHeader

func (*ReadRequest) GetKey

func (m *ReadRequest) GetKey() string

func (*ReadRequest) Marshal

func (m *ReadRequest) Marshal() (dAtA []byte, err error)

func (*ReadRequest) MarshalTo

func (m *ReadRequest) MarshalTo(dAtA []byte) (int, error)

func (*ReadRequest) MarshalToSizedBuffer

func (m *ReadRequest) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ReadRequest) ProtoMessage

func (*ReadRequest) ProtoMessage()

func (*ReadRequest) Reset

func (m *ReadRequest) Reset()

func (*ReadRequest) Size

func (m *ReadRequest) Size() (n int)

func (*ReadRequest) String

func (m *ReadRequest) String() string

func (*ReadRequest) Unmarshal

func (m *ReadRequest) Unmarshal(dAtA []byte) error

func (*ReadRequest) XXX_DiscardUnknown

func (m *ReadRequest) XXX_DiscardUnknown()

func (*ReadRequest) XXX_Marshal

func (m *ReadRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ReadRequest) XXX_Merge

func (m *ReadRequest) XXX_Merge(src proto.Message)

func (*ReadRequest) XXX_Size

func (m *ReadRequest) XXX_Size() int

func (*ReadRequest) XXX_Unmarshal

func (m *ReadRequest) XXX_Unmarshal(b []byte) error

type ReadResponse

type ReadResponse struct {
	Header ResponseHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header"`
	Object *Object        `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"`
}

func (*ReadResponse) Descriptor

func (*ReadResponse) Descriptor() ([]byte, []int)

func (*ReadResponse) GetHeader

func (m *ReadResponse) GetHeader() ResponseHeader

func (*ReadResponse) GetObject

func (m *ReadResponse) GetObject() *Object

func (*ReadResponse) Marshal

func (m *ReadResponse) Marshal() (dAtA []byte, err error)

func (*ReadResponse) MarshalTo

func (m *ReadResponse) MarshalTo(dAtA []byte) (int, error)

func (*ReadResponse) MarshalToSizedBuffer

func (m *ReadResponse) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ReadResponse) ProtoMessage

func (*ReadResponse) ProtoMessage()

func (*ReadResponse) Reset

func (m *ReadResponse) Reset()

func (*ReadResponse) Size

func (m *ReadResponse) Size() (n int)

func (*ReadResponse) String

func (m *ReadResponse) String() string

func (*ReadResponse) Unmarshal

func (m *ReadResponse) Unmarshal(dAtA []byte) error

func (*ReadResponse) XXX_DiscardUnknown

func (m *ReadResponse) XXX_DiscardUnknown()

func (*ReadResponse) XXX_Marshal

func (m *ReadResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ReadResponse) XXX_Merge

func (m *ReadResponse) XXX_Merge(src proto.Message)

func (*ReadResponse) XXX_Size

func (m *ReadResponse) XXX_Size() int

func (*ReadResponse) XXX_Unmarshal

func (m *ReadResponse) XXX_Unmarshal(b []byte) error

type RegisterServerFunc

type RegisterServerFunc func(server *grpc.Server, manager *Manager)

RegisterServerFunc is a function for registering a server

type Registry

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

Registry is the default primitive registry

func NewRegistry

func NewRegistry() *Registry

NewRegistry creates a new primitive registry

func (*Registry) GetServers

func (r *Registry) GetServers() []RegisterServerFunc

func (*Registry) GetServiceFunc

func (r *Registry) GetServiceFunc(t ServiceType) (NewServiceFunc, error)

func (*Registry) GetServiceFuncs

func (r *Registry) GetServiceFuncs() map[ServiceType]NewServiceFunc

func (*Registry) RegisterServer

func (r *Registry) RegisterServer(f RegisterServerFunc)

func (*Registry) RegisterService

func (r *Registry) RegisterService(t ServiceType, f NewServiceFunc)

type Replica

type Replica interface {
	ID() ServiceId
	Clock() time.Clock
	Read(ctx context.Context, key string) (*Object, error)
	ReadAll(ctx context.Context, ch chan<- Object) error
	Update(ctx context.Context, object *Object) error
}

Replica is a service replica interface

type RequestHeader

type RequestHeader struct {
	PartitionID PartitionID    `protobuf:"varint,1,opt,name=partition_id,json=partitionId,proto3,casttype=PartitionID" json:"partition_id,omitempty"`
	ServiceID   ServiceId      `protobuf:"bytes,2,opt,name=service_id,json=serviceId,proto3" json:"service_id"`
	MemberID    MemberID       `protobuf:"bytes,3,opt,name=member_id,json=memberId,proto3,casttype=MemberID" json:"member_id,omitempty"`
	Timestamp   meta.Timestamp `protobuf:"bytes,4,opt,name=timestamp,proto3" json:"timestamp"`
}

func (*RequestHeader) Descriptor

func (*RequestHeader) Descriptor() ([]byte, []int)

func (*RequestHeader) GetMemberID

func (m *RequestHeader) GetMemberID() MemberID

func (*RequestHeader) GetPartitionID

func (m *RequestHeader) GetPartitionID() PartitionID

func (*RequestHeader) GetServiceID

func (m *RequestHeader) GetServiceID() ServiceId

func (*RequestHeader) GetTimestamp

func (m *RequestHeader) GetTimestamp() meta.Timestamp

func (*RequestHeader) Marshal

func (m *RequestHeader) Marshal() (dAtA []byte, err error)

func (*RequestHeader) MarshalTo

func (m *RequestHeader) MarshalTo(dAtA []byte) (int, error)

func (*RequestHeader) MarshalToSizedBuffer

func (m *RequestHeader) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*RequestHeader) ProtoMessage

func (*RequestHeader) ProtoMessage()

func (*RequestHeader) Reset

func (m *RequestHeader) Reset()

func (*RequestHeader) Size

func (m *RequestHeader) Size() (n int)

func (*RequestHeader) String

func (m *RequestHeader) String() string

func (*RequestHeader) Unmarshal

func (m *RequestHeader) Unmarshal(dAtA []byte) error

func (*RequestHeader) XXX_DiscardUnknown

func (m *RequestHeader) XXX_DiscardUnknown()

func (*RequestHeader) XXX_Marshal

func (m *RequestHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*RequestHeader) XXX_Merge

func (m *RequestHeader) XXX_Merge(src proto.Message)

func (*RequestHeader) XXX_Size

func (m *RequestHeader) XXX_Size() int

func (*RequestHeader) XXX_Unmarshal

func (m *RequestHeader) XXX_Unmarshal(b []byte) error

type ResponseHeader

type ResponseHeader struct {
	Timestamp meta.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp"`
}

func (*ResponseHeader) Descriptor

func (*ResponseHeader) Descriptor() ([]byte, []int)

func (*ResponseHeader) GetTimestamp

func (m *ResponseHeader) GetTimestamp() meta.Timestamp

func (*ResponseHeader) Marshal

func (m *ResponseHeader) Marshal() (dAtA []byte, err error)

func (*ResponseHeader) MarshalTo

func (m *ResponseHeader) MarshalTo(dAtA []byte) (int, error)

func (*ResponseHeader) MarshalToSizedBuffer

func (m *ResponseHeader) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ResponseHeader) ProtoMessage

func (*ResponseHeader) ProtoMessage()

func (*ResponseHeader) Reset

func (m *ResponseHeader) Reset()

func (*ResponseHeader) Size

func (m *ResponseHeader) Size() (n int)

func (*ResponseHeader) String

func (m *ResponseHeader) String() string

func (*ResponseHeader) Unmarshal

func (m *ResponseHeader) Unmarshal(dAtA []byte) error

func (*ResponseHeader) XXX_DiscardUnknown

func (m *ResponseHeader) XXX_DiscardUnknown()

func (*ResponseHeader) XXX_Marshal

func (m *ResponseHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ResponseHeader) XXX_Merge

func (m *ResponseHeader) XXX_Merge(src proto.Message)

func (*ResponseHeader) XXX_Size

func (m *ResponseHeader) XXX_Size() int

func (*ResponseHeader) XXX_Unmarshal

func (m *ResponseHeader) XXX_Unmarshal(b []byte) error

type Service

type Service interface{}

Service is a gossip service

type ServiceId

type ServiceId struct {
	Type    ServiceType `protobuf:"bytes,1,opt,name=type,proto3,casttype=ServiceType" json:"type,omitempty"`
	Cluster string      `protobuf:"bytes,2,opt,name=cluster,proto3" json:"cluster,omitempty"`
	Name    string      `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
}

func (*ServiceId) Descriptor

func (*ServiceId) Descriptor() ([]byte, []int)

func (*ServiceId) GetCluster added in v0.6.2

func (m *ServiceId) GetCluster() string

func (*ServiceId) GetName

func (m *ServiceId) GetName() string

func (*ServiceId) GetType

func (m *ServiceId) GetType() ServiceType

func (*ServiceId) Marshal

func (m *ServiceId) Marshal() (dAtA []byte, err error)

func (*ServiceId) MarshalTo

func (m *ServiceId) MarshalTo(dAtA []byte) (int, error)

func (*ServiceId) MarshalToSizedBuffer

func (m *ServiceId) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ServiceId) ProtoMessage

func (*ServiceId) ProtoMessage()

func (*ServiceId) Reset

func (m *ServiceId) Reset()

func (*ServiceId) Size

func (m *ServiceId) Size() (n int)

func (*ServiceId) String

func (m *ServiceId) String() string

func (*ServiceId) Unmarshal

func (m *ServiceId) Unmarshal(dAtA []byte) error

func (*ServiceId) XXX_DiscardUnknown

func (m *ServiceId) XXX_DiscardUnknown()

func (*ServiceId) XXX_Marshal

func (m *ServiceId) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ServiceId) XXX_Merge

func (m *ServiceId) XXX_Merge(src proto.Message)

func (*ServiceId) XXX_Size

func (m *ServiceId) XXX_Size() int

func (*ServiceId) XXX_Unmarshal

func (m *ServiceId) XXX_Unmarshal(b []byte) error

type ServiceType

type ServiceType string

ServiceType is a gossip service type name

type UnimplementedGossipProtocolServer

type UnimplementedGossipProtocolServer struct {
}

UnimplementedGossipProtocolServer can be embedded to have forward compatible implementations.

func (*UnimplementedGossipProtocolServer) Gossip

func (*UnimplementedGossipProtocolServer) Read

func (*UnimplementedGossipProtocolServer) ReadAll

type Update

type Update struct {
	Header GossipHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header"`
	Object Object       `protobuf:"bytes,2,opt,name=object,proto3" json:"object"`
}

func (*Update) Descriptor

func (*Update) Descriptor() ([]byte, []int)

func (*Update) GetHeader

func (m *Update) GetHeader() GossipHeader

func (*Update) GetObject

func (m *Update) GetObject() Object

func (*Update) Marshal

func (m *Update) Marshal() (dAtA []byte, err error)

func (*Update) MarshalTo

func (m *Update) MarshalTo(dAtA []byte) (int, error)

func (*Update) MarshalToSizedBuffer

func (m *Update) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Update) ProtoMessage

func (*Update) ProtoMessage()

func (*Update) Reset

func (m *Update) Reset()

func (*Update) Size

func (m *Update) Size() (n int)

func (*Update) String

func (m *Update) String() string

func (*Update) Unmarshal

func (m *Update) Unmarshal(dAtA []byte) error

func (*Update) XXX_DiscardUnknown

func (m *Update) XXX_DiscardUnknown()

func (*Update) XXX_Marshal

func (m *Update) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Update) XXX_Merge

func (m *Update) XXX_Merge(src proto.Message)

func (*Update) XXX_Size

func (m *Update) XXX_Size() int

func (*Update) XXX_Unmarshal

func (m *Update) XXX_Unmarshal(b []byte) error

Directories

Path Synopsis
Code generated by atomix-go-framework.
Code generated by atomix-go-framework.
Code generated by atomix-go-framework.
Code generated by atomix-go-framework.
Code generated by atomix-go-framework.
Code generated by atomix-go-framework.
Code generated by atomix-go-framework.
Code generated by atomix-go-framework.

Jump to

Keyboard shortcuts

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