Documentation
¶
Index ¶
- Variables
- type Client
- func (c *Client) Close() error
- func (c *Client) IsLeader() bool
- func (c *Client) Leader() string
- func (c *Client) MustLeader() bool
- func (c *Client) Read(ctx context.Context, in []byte, stream stream.WriteStream) error
- func (c *Client) Write(ctx context.Context, in []byte, stream stream.WriteStream) error
- type Cluster
- type MemberID
- type Protocol
- type SequencerConfig
- func (*SequencerConfig) Descriptor() ([]byte, []int)
- func (this *SequencerConfig) Equal(that interface{}) bool
- func (m *SequencerConfig) GetSessionId() github_com_atomix_atomix_nopaxos_node_pkg_atomix_nopaxos_protocol.SessionID
- func (m *SequencerConfig) Marshal() (dAtA []byte, err error)
- func (m *SequencerConfig) MarshalTo(dAtA []byte) (int, error)
- func (m *SequencerConfig) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*SequencerConfig) ProtoMessage()
- func (m *SequencerConfig) Reset()
- func (m *SequencerConfig) Size() (n int)
- func (m *SequencerConfig) String() string
- func (m *SequencerConfig) Unmarshal(dAtA []byte) error
- func (m *SequencerConfig) XXX_DiscardUnknown()
- func (m *SequencerConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *SequencerConfig) XXX_Merge(src proto.Message)
- func (m *SequencerConfig) XXX_Size() int
- func (m *SequencerConfig) XXX_Unmarshal(b []byte) error
Constants ¶
This section is empty.
Variables ¶
Functions ¶
This section is empty.
Types ¶
type Client ¶
Client is a service Client implementation for the NOPaxos consensus protocol
func NewClient ¶
func NewClient(config cluster.Cluster, sequencerConfig *SequencerConfig) (*Client, error)
NewClient returns a new NOPaxos client
func (*Client) MustLeader ¶
type Cluster ¶
type Cluster struct {
// contains filtered or unexported fields
}
Cluster manages the NOPaxos cluster configuration
func NewCluster ¶
NewCluster returns a new Cluster with the given configuration
func (*Cluster) GetStream ¶
func (c *Cluster) GetStream(member MemberID) (protocol.ClientService_ClientStreamClient, error)
func (*Cluster) QuorumSize ¶
type Protocol ¶
Protocol is an implementation of the Client interface providing the NOPaxos consensus protocol
func NewProtocol ¶
func NewProtocol(config *SequencerConfig) *Protocol
NewProtocol returns a new NOPaxos Protocol instance
type SequencerConfig ¶
type SequencerConfig struct {
SessionId github_com_atomix_atomix_nopaxos_node_pkg_atomix_nopaxos_protocol.SessionID `` /* 170-byte string literal not displayed */
}
SequencerConfig is the sequencer configuration
func NewPopulatedSequencerConfig ¶
func NewPopulatedSequencerConfig(r randyConfig, easy bool) *SequencerConfig
func (*SequencerConfig) Descriptor ¶
func (*SequencerConfig) Descriptor() ([]byte, []int)
func (*SequencerConfig) Equal ¶
func (this *SequencerConfig) Equal(that interface{}) bool
func (*SequencerConfig) GetSessionId ¶
func (m *SequencerConfig) GetSessionId() github_com_atomix_atomix_nopaxos_node_pkg_atomix_nopaxos_protocol.SessionID
func (*SequencerConfig) Marshal ¶
func (m *SequencerConfig) Marshal() (dAtA []byte, err error)
func (*SequencerConfig) MarshalToSizedBuffer ¶
func (m *SequencerConfig) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*SequencerConfig) ProtoMessage ¶
func (*SequencerConfig) ProtoMessage()
func (*SequencerConfig) Reset ¶
func (m *SequencerConfig) Reset()
func (*SequencerConfig) Size ¶
func (m *SequencerConfig) Size() (n int)
func (*SequencerConfig) String ¶
func (m *SequencerConfig) String() string
func (*SequencerConfig) Unmarshal ¶
func (m *SequencerConfig) Unmarshal(dAtA []byte) error
func (*SequencerConfig) XXX_DiscardUnknown ¶
func (m *SequencerConfig) XXX_DiscardUnknown()
func (*SequencerConfig) XXX_Marshal ¶
func (m *SequencerConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*SequencerConfig) XXX_Merge ¶
func (m *SequencerConfig) XXX_Merge(src proto.Message)
func (*SequencerConfig) XXX_Size ¶
func (m *SequencerConfig) XXX_Size() int
func (*SequencerConfig) XXX_Unmarshal ¶
func (m *SequencerConfig) XXX_Unmarshal(b []byte) error
Click to show internal directories.
Click to hide internal directories.