etcdraft

package
v1.4.12 Latest Latest
Warning

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

Go to latest
Published: Apr 23, 2021 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 added in v1.4.1

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 added in v1.4.1

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

func (*BlockMetadata) GetConsenterIds added in v1.4.1

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

func (*BlockMetadata) GetNextConsenterId added in v1.4.1

func (m *BlockMetadata) GetNextConsenterId() uint64

func (*BlockMetadata) GetRaftIndex added in v1.4.1

func (m *BlockMetadata) GetRaftIndex() uint64

func (*BlockMetadata) ProtoMessage added in v1.4.1

func (*BlockMetadata) ProtoMessage()

func (*BlockMetadata) Reset added in v1.4.1

func (m *BlockMetadata) Reset()

func (*BlockMetadata) String added in v1.4.1

func (m *BlockMetadata) String() string

func (*BlockMetadata) XXX_DiscardUnknown added in v1.4.1

func (m *BlockMetadata) XXX_DiscardUnknown()

func (*BlockMetadata) XXX_Marshal added in v1.4.1

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

func (*BlockMetadata) XXX_Merge added in v1.4.1

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

func (*BlockMetadata) XXX_Size added in v1.4.1

func (m *BlockMetadata) XXX_Size() int

func (*BlockMetadata) XXX_Unmarshal added in v1.4.1

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

type ConfigMetadata added in v1.4.1

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 added in v1.4.1

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

func (*ConfigMetadata) GetConsenters added in v1.4.1

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

func (*ConfigMetadata) GetOptions added in v1.4.1

func (m *ConfigMetadata) GetOptions() *Options

func (*ConfigMetadata) ProtoMessage added in v1.4.1

func (*ConfigMetadata) ProtoMessage()

func (*ConfigMetadata) Reset added in v1.4.1

func (m *ConfigMetadata) Reset()

func (*ConfigMetadata) String added in v1.4.1

func (m *ConfigMetadata) String() string

func (*ConfigMetadata) XXX_DiscardUnknown added in v1.4.1

func (m *ConfigMetadata) XXX_DiscardUnknown()

func (*ConfigMetadata) XXX_Marshal added in v1.4.1

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

func (*ConfigMetadata) XXX_Merge added in v1.4.1

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

func (*ConfigMetadata) XXX_Size added in v1.4.1

func (m *ConfigMetadata) XXX_Size() int

func (*ConfigMetadata) XXX_Unmarshal added in v1.4.1

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 added in v1.4.0

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 added in v1.4.0

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

func (*Options) GetElectionTick added in v1.4.0

func (m *Options) GetElectionTick() uint32

func (*Options) GetHeartbeatTick added in v1.4.0

func (m *Options) GetHeartbeatTick() uint32

func (*Options) GetMaxInflightBlocks added in v1.4.1

func (m *Options) GetMaxInflightBlocks() uint32

func (*Options) GetSnapshotIntervalSize added in v1.4.1

func (m *Options) GetSnapshotIntervalSize() uint32

func (*Options) GetTickInterval added in v1.4.0

func (m *Options) GetTickInterval() string

func (*Options) ProtoMessage added in v1.4.0

func (*Options) ProtoMessage()

func (*Options) Reset added in v1.4.0

func (m *Options) Reset()

func (*Options) String added in v1.4.0

func (m *Options) String() string

func (*Options) XXX_DiscardUnknown added in v1.4.0

func (m *Options) XXX_DiscardUnknown()

func (*Options) XXX_Marshal added in v1.4.0

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

func (*Options) XXX_Merge added in v1.4.0

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

func (*Options) XXX_Size added in v1.4.0

func (m *Options) XXX_Size() int

func (*Options) XXX_Unmarshal added in v1.4.0

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