Documentation ¶
Overview ¶
Overview of the channels used in this module:
Node.
- quitSync: *Every* channel operation can be unblocked by closing this channel.
ProtocolManager. * proposeC, for proposals flowing from ethereum to raft * confChangeC, currently unused; in the future for adding new, non-initial, raft peers * roleC, coming from raft notifies us when our role changes
Index ¶
- type AddressTxes
- type InvalidRaftOrdering
- type ProtocolManager
- func (pm *ProtocolManager) IsIDRemoved(id uint64) bool
- func (pm *ProtocolManager) NodeInfo() *RaftNodeInfo
- func (pm *ProtocolManager) Process(ctx context.Context, m raftpb.Message) error
- func (pm *ProtocolManager) ReportSnapshot(id uint64, status etcdRaft.SnapshotStatus)
- func (pm *ProtocolManager) ReportUnreachable(id uint64)
- func (pm *ProtocolManager) Start()
- func (pm *ProtocolManager) Stop()
- func (pm *ProtocolManager) WriteMsg(msg p2p.Msg) error
- type PublicRaftAPI
- type RaftNodeInfo
- type RaftService
- func (service *RaftService) APIs() []rpc.API
- func (service *RaftService) AccountManager() *accounts.Manager
- func (service *RaftService) BlockChain() *core.BlockChain
- func (service *RaftService) ChainDb() ethdb.Database
- func (service *RaftService) DappDb() ethdb.Database
- func (service *RaftService) EventMux() *event.TypeMux
- func (service *RaftService) Protocols() []p2p.Protocol
- func (service *RaftService) Start(*p2p.Server) error
- func (service *RaftService) Stop() error
- func (service *RaftService) TxPool() *core.TxPool
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AddressTxes ¶
type AddressTxes map[common.Address]types.Transactions
type InvalidRaftOrdering ¶
type InvalidRaftOrdering struct {
// contains filtered or unexported fields
}
type ProtocolManager ¶
type ProtocolManager struct {
// contains filtered or unexported fields
}
func NewProtocolManager ¶
func NewProtocolManager(id int, blockchain *core.BlockChain, mux *event.TypeMux, peers []*discover.Node, datadir string, minter *minter) (*ProtocolManager, error)
func (*ProtocolManager) IsIDRemoved ¶
func (pm *ProtocolManager) IsIDRemoved(id uint64) bool
func (*ProtocolManager) NodeInfo ¶
func (pm *ProtocolManager) NodeInfo() *RaftNodeInfo
func (*ProtocolManager) ReportSnapshot ¶
func (pm *ProtocolManager) ReportSnapshot(id uint64, status etcdRaft.SnapshotStatus)
func (*ProtocolManager) ReportUnreachable ¶
func (pm *ProtocolManager) ReportUnreachable(id uint64)
func (*ProtocolManager) Start ¶
func (pm *ProtocolManager) Start()
func (*ProtocolManager) Stop ¶
func (pm *ProtocolManager) Stop()
type PublicRaftAPI ¶
type PublicRaftAPI struct {
// contains filtered or unexported fields
}
func NewPublicRaftAPI ¶
func NewPublicRaftAPI(raftService *RaftService) *PublicRaftAPI
func (*PublicRaftAPI) Role ¶
func (s *PublicRaftAPI) Role() string
type RaftNodeInfo ¶
type RaftService ¶
type RaftService struct {
// contains filtered or unexported fields
}
func New ¶
func New(ctx *node.ServiceContext, chainConfig *core.ChainConfig, id int, blockTime time.Duration, e *eth.Ethereum, startPeers []*discover.Node, datadir string) (*RaftService, error)
func (*RaftService) APIs ¶
func (service *RaftService) APIs() []rpc.API
func (*RaftService) AccountManager ¶
func (service *RaftService) AccountManager() *accounts.Manager
Backend interface methods
func (*RaftService) BlockChain ¶
func (service *RaftService) BlockChain() *core.BlockChain
func (*RaftService) ChainDb ¶
func (service *RaftService) ChainDb() ethdb.Database
func (*RaftService) DappDb ¶
func (service *RaftService) DappDb() ethdb.Database
func (*RaftService) EventMux ¶
func (service *RaftService) EventMux() *event.TypeMux
func (*RaftService) Protocols ¶
func (service *RaftService) Protocols() []p2p.Protocol
node.Service interface methods
func (*RaftService) Start ¶
func (service *RaftService) Start(*p2p.Server) error
Start implements node.Service, starting the background data propagation thread of the protocol.
func (*RaftService) Stop ¶
func (service *RaftService) Stop() error
Stop implements node.Service, stopping the background data propagation thread of the protocol.
func (*RaftService) TxPool ¶
func (service *RaftService) TxPool() *core.TxPool
Click to show internal directories.
Click to hide internal directories.