etcdraft

package
v0.0.0-...-46723fb Latest Latest
Warning

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

Go to latest
Published: Apr 23, 2020 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const TypeKey = "etcdraft"

TypeKey is the string with which this consensus implementation is identified across Fabric.

Variables

This section is empty.

Functions

func Marshal

func Marshal(md *ConfigMetadata) ([]byte, error)

Marshal serializes this implementation's proto messages. It is called by the encoder package during the creation of the Orderer ConfigGroup.

Types

type BlockMetadata

type BlockMetadata struct {
	// Maintains a mapping between the cluster's OSNs
	// and their Raft IDs.
	ConsenterIds []uint64 `protobuf:"varint,1,rep,packed,name=consenter_ids,json=consenterIds,proto3" json:"consenter_ids,omitempty"`
	// Carries the Raft ID value that will be assigned
	// to the next OSN that will join this cluster.
	NextConsenterId uint64 `protobuf:"varint,2,opt,name=next_consenter_id,json=nextConsenterId,proto3" json:"next_consenter_id,omitempty"`
	// Index of etcd/raft entry for current block.
	RaftIndex            uint64   `protobuf:"varint,3,opt,name=raft_index,json=raftIndex,proto3" json:"raft_index,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

BlockMetadata stores data used by the Raft OSNs when coordinating with each other, to be serialized into block meta dta field and used after failres and restarts.

func (*BlockMetadata) Descriptor

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

func (*BlockMetadata) GetConsenterIds

func (m *BlockMetadata) GetConsenterIds() []uint64

func (*BlockMetadata) GetNextConsenterId

func (m *BlockMetadata) GetNextConsenterId() uint64

func (*BlockMetadata) GetRaftIndex

func (m *BlockMetadata) GetRaftIndex() uint64

func (*BlockMetadata) ProtoMessage

func (*BlockMetadata) ProtoMessage()

func (*BlockMetadata) Reset

func (m *BlockMetadata) Reset()

func (*BlockMetadata) String

func (m *BlockMetadata) String() string

func (*BlockMetadata) XXX_DiscardUnknown

func (m *BlockMetadata) XXX_DiscardUnknown()

func (*BlockMetadata) XXX_Marshal

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

func (*BlockMetadata) XXX_Merge

func (dst *BlockMetadata) XXX_Merge(src proto.Message)

func (*BlockMetadata) XXX_Size

func (m *BlockMetadata) XXX_Size() int

func (*BlockMetadata) XXX_Unmarshal

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

type ConfigMetadata

type ConfigMetadata struct {
	Consenters           []*Consenter `protobuf:"bytes,1,rep,name=consenters,proto3" json:"consenters,omitempty"`
	Options              *Options     `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

ConfigMetadata is serialized and set as the value of ConsensusType.Metadata in a channel configuration when the ConsensusType.Type is set "etcdraft".

func (*ConfigMetadata) Descriptor

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

func (*ConfigMetadata) GetConsenters

func (m *ConfigMetadata) GetConsenters() []*Consenter

func (*ConfigMetadata) GetOptions

func (m *ConfigMetadata) GetOptions() *Options

func (*ConfigMetadata) ProtoMessage

func (*ConfigMetadata) ProtoMessage()

func (*ConfigMetadata) Reset

func (m *ConfigMetadata) Reset()

func (*ConfigMetadata) String

func (m *ConfigMetadata) String() string

func (*ConfigMetadata) XXX_DiscardUnknown

func (m *ConfigMetadata) XXX_DiscardUnknown()

func (*ConfigMetadata) XXX_Marshal

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

func (*ConfigMetadata) XXX_Merge

func (dst *ConfigMetadata) XXX_Merge(src proto.Message)

func (*ConfigMetadata) XXX_Size

func (m *ConfigMetadata) XXX_Size() int

func (*ConfigMetadata) XXX_Unmarshal

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

type ConsensusTypeMetadataFactory

type ConsensusTypeMetadataFactory struct{}

ConsensusTypeMetadataFactory allows this implementation's proto messages to register their type with the orderer's proto messages. This is needed for protolator to work.

func (ConsensusTypeMetadataFactory) NewMessage

func (dogf ConsensusTypeMetadataFactory) NewMessage() proto.Message

NewMessage implements the Orderer.ConsensusTypeMetadataFactory interface.

type Consenter

type Consenter struct {
	Host                 string   `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
	Port                 uint32   `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
	ClientTlsCert        []byte   `protobuf:"bytes,3,opt,name=client_tls_cert,json=clientTlsCert,proto3" json:"client_tls_cert,omitempty"`
	ServerTlsCert        []byte   `protobuf:"bytes,4,opt,name=server_tls_cert,json=serverTlsCert,proto3" json:"server_tls_cert,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Consenter represents a consenting node (i.e. replica).

func (*Consenter) Descriptor

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

func (*Consenter) GetClientTlsCert

func (m *Consenter) GetClientTlsCert() []byte

func (*Consenter) GetHost

func (m *Consenter) GetHost() string

func (*Consenter) GetPort

func (m *Consenter) GetPort() uint32

func (*Consenter) GetServerTlsCert

func (m *Consenter) GetServerTlsCert() []byte

func (*Consenter) ProtoMessage

func (*Consenter) ProtoMessage()

func (*Consenter) Reset

func (m *Consenter) Reset()

func (*Consenter) String

func (m *Consenter) String() string

func (*Consenter) XXX_DiscardUnknown

func (m *Consenter) XXX_DiscardUnknown()

func (*Consenter) XXX_Marshal

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

func (*Consenter) XXX_Merge

func (dst *Consenter) XXX_Merge(src proto.Message)

func (*Consenter) XXX_Size

func (m *Consenter) XXX_Size() int

func (*Consenter) XXX_Unmarshal

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

type Options

type Options struct {
	TickInterval      string `protobuf:"bytes,1,opt,name=tick_interval,json=tickInterval,proto3" json:"tick_interval,omitempty"`
	ElectionTick      uint32 `protobuf:"varint,2,opt,name=election_tick,json=electionTick,proto3" json:"election_tick,omitempty"`
	HeartbeatTick     uint32 `protobuf:"varint,3,opt,name=heartbeat_tick,json=heartbeatTick,proto3" json:"heartbeat_tick,omitempty"`
	MaxInflightBlocks uint32 `protobuf:"varint,4,opt,name=max_inflight_blocks,json=maxInflightBlocks,proto3" json:"max_inflight_blocks,omitempty"`
	// Take snapshot when cumulative data exceeds certain size in bytes.
	SnapshotIntervalSize uint32   `protobuf:"varint,5,opt,name=snapshot_interval_size,json=snapshotIntervalSize,proto3" json:"snapshot_interval_size,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Options to be specified for all the etcd/raft nodes. These can be modified on a per-channel basis.

func (*Options) Descriptor

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

func (*Options) GetElectionTick

func (m *Options) GetElectionTick() uint32

func (*Options) GetHeartbeatTick

func (m *Options) GetHeartbeatTick() uint32

func (*Options) GetMaxInflightBlocks

func (m *Options) GetMaxInflightBlocks() uint32

func (*Options) GetSnapshotIntervalSize

func (m *Options) GetSnapshotIntervalSize() uint32

func (*Options) GetTickInterval

func (m *Options) GetTickInterval() string

func (*Options) ProtoMessage

func (*Options) ProtoMessage()

func (*Options) Reset

func (m *Options) Reset()

func (*Options) String

func (m *Options) String() string

func (*Options) XXX_DiscardUnknown

func (m *Options) XXX_DiscardUnknown()

func (*Options) XXX_Marshal

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

func (*Options) XXX_Merge

func (dst *Options) XXX_Merge(src proto.Message)

func (*Options) XXX_Size

func (m *Options) XXX_Size() int

func (*Options) XXX_Unmarshal

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

Jump to

Keyboard shortcuts

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