set

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: 21 Imported by: 1

Documentation

Overview

Code generated by atomix-go-framework. DO NOT EDIT.

Code generated by atomix-go-framework. DO NOT EDIT.

Code generated by atomix-go-framework. DO NOT EDIT.

Index

Constants

View Source
const ServiceType gossip.ServiceType = "Set"

Variables

View Source
var (
	ErrInvalidLengthState        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowState          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupState = fmt.Errorf("proto: unexpected end of group")
)

Functions

func RegisterServer

func RegisterServer(node *gossip.Node)

RegisterServer registers the primitive on the given node

func RegisterService

func RegisterService(node *gossip.Node)

RegisterService registers the service on the given node

Types

type GossipClient

type GossipClient interface {
	Bootstrap(ctx context.Context, ch chan<- SetElement) error
	Repair(ctx context.Context, state *SetElement) (*SetElement, error)
	Advertise(ctx context.Context, state *SetElement) error
	Update(ctx context.Context, state *SetElement) error
}

type GossipEngine

type GossipEngine interface {
	// contains filtered or unexported methods
}

type GossipGroup

type GossipGroup interface {
	GossipClient
	MemberID() GossipMemberID
	Members() []GossipMember
	Member(GossipMemberID) GossipMember
}

type GossipHandler

type GossipHandler interface {
	Read(ctx context.Context, key string) (*SetElement, error)
	List(ctx context.Context, ch chan<- SetElement) error
	Update(ctx context.Context, entry *SetElement) error
}

type GossipMember

type GossipMember interface {
	GossipClient
	ID() GossipMemberID
	Client() *gossip.Peer
}

type GossipMemberID

type GossipMemberID gossip.PeerID

func (GossipMemberID) String

func (i GossipMemberID) String() string

type GossipProtocol

type GossipProtocol interface {
	Clock() atime.Clock
	Group() GossipGroup
	Server() GossipServer
}

type GossipServer

type GossipServer interface {
	Register(GossipHandler) error
	// contains filtered or unexported methods
}

type Server

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

func (*Server) Add

func (s *Server) Add(ctx context.Context, request *set.AddRequest) (*set.AddResponse, error)

func (*Server) Clear

func (s *Server) Clear(ctx context.Context, request *set.ClearRequest) (*set.ClearResponse, error)

func (*Server) Contains

func (s *Server) Contains(ctx context.Context, request *set.ContainsRequest) (*set.ContainsResponse, error)

func (*Server) Elements

func (s *Server) Elements(request *set.ElementsRequest, srv set.SetService_ElementsServer) error

func (*Server) Events

func (s *Server) Events(request *set.EventsRequest, srv set.SetService_EventsServer) error

func (*Server) Remove

func (s *Server) Remove(ctx context.Context, request *set.RemoveRequest) (*set.RemoveResponse, error)

func (*Server) Size

func (s *Server) Size(ctx context.Context, request *set.SizeRequest) (*set.SizeResponse, error)

type Service

type Service interface {
	gossip.Service
	Protocol() GossipProtocol
	// Size gets the number of elements in the set
	Size(context.Context, *set.SizeRequest) (*set.SizeResponse, error)
	// Contains returns whether the set contains a value
	Contains(context.Context, *set.ContainsRequest) (*set.ContainsResponse, error)
	// Add adds a value to the set
	Add(context.Context, *set.AddRequest) (*set.AddResponse, error)
	// Remove removes a value from the set
	Remove(context.Context, *set.RemoveRequest) (*set.RemoveResponse, error)
	// Clear removes all values from the set
	Clear(context.Context, *set.ClearRequest) (*set.ClearResponse, error)
	// Events listens for set change events
	Events(context.Context, *set.EventsRequest, chan<- set.EventsResponse) error
	// Elements lists all elements in the set
	Elements(context.Context, *set.ElementsRequest, chan<- set.ElementsResponse) error
}

type SetElement

type SetElement struct {
	meta.ObjectMeta `protobuf:"bytes,1,opt,name=meta,proto3,embedded=meta" json:"meta"`
	Value           string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}

func (*SetElement) Descriptor

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

func (*SetElement) GetValue

func (m *SetElement) GetValue() string

func (*SetElement) Marshal

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

func (*SetElement) MarshalTo

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

func (*SetElement) MarshalToSizedBuffer

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

func (*SetElement) ProtoMessage

func (*SetElement) ProtoMessage()

func (*SetElement) Reset

func (m *SetElement) Reset()

func (*SetElement) Size

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

func (*SetElement) String

func (m *SetElement) String() string

func (*SetElement) Unmarshal

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

func (*SetElement) XXX_DiscardUnknown

func (m *SetElement) XXX_DiscardUnknown()

func (*SetElement) XXX_Marshal

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

func (*SetElement) XXX_Merge

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

func (*SetElement) XXX_Size

func (m *SetElement) XXX_Size() int

func (*SetElement) XXX_Unmarshal

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

Jump to

Keyboard shortcuts

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