mirror of https://github.com/poanetwork/gecko.git
46 lines
2.0 KiB
Go
46 lines
2.0 KiB
Go
// (c) 2019-2020, Ava Labs, Inc. All rights reserved.
|
|
// See the file LICENSE for licensing terms.
|
|
|
|
package router
|
|
|
|
import (
|
|
"github.com/ava-labs/gecko/ids"
|
|
"github.com/ava-labs/gecko/snow/networking/handler"
|
|
"github.com/ava-labs/gecko/snow/networking/timeout"
|
|
"github.com/ava-labs/gecko/utils/logging"
|
|
)
|
|
|
|
// Router routes consensus messages to the Handler of the consensus
|
|
// engine that the messages are intended for
|
|
type Router interface {
|
|
ExternalRouter
|
|
InternalRouter
|
|
|
|
AddChain(chain *handler.Handler)
|
|
RemoveChain(chainID ids.ID)
|
|
Shutdown()
|
|
Initialize(log logging.Logger, timeouts *timeout.Manager)
|
|
}
|
|
|
|
// ExternalRouter routes messages from the network to the
|
|
// Handler of the consensus engine that the message is intended for
|
|
type ExternalRouter interface {
|
|
GetAcceptedFrontier(validatorID ids.ShortID, chainID ids.ID, requestID uint32)
|
|
AcceptedFrontier(validatorID ids.ShortID, chainID ids.ID, requestID uint32, containerIDs ids.Set)
|
|
GetAccepted(validatorID ids.ShortID, chainID ids.ID, requestID uint32, containerIDs ids.Set)
|
|
Accepted(validatorID ids.ShortID, chainID ids.ID, requestID uint32, containerIDs ids.Set)
|
|
Get(validatorID ids.ShortID, chainID ids.ID, requestID uint32, containerID ids.ID)
|
|
Put(validatorID ids.ShortID, chainID ids.ID, requestID uint32, containerID ids.ID, container []byte)
|
|
PushQuery(validatorID ids.ShortID, chainID ids.ID, requestID uint32, containerID ids.ID, container []byte)
|
|
PullQuery(validatorID ids.ShortID, chainID ids.ID, requestID uint32, containerID ids.ID)
|
|
Chits(validatorID ids.ShortID, chainID ids.ID, requestID uint32, votes ids.Set)
|
|
}
|
|
|
|
// InternalRouter deals with messages internal to this node
|
|
type InternalRouter interface {
|
|
GetAcceptedFrontierFailed(validatorID ids.ShortID, chainID ids.ID, requestID uint32)
|
|
GetAcceptedFailed(validatorID ids.ShortID, chainID ids.ID, requestID uint32)
|
|
GetFailed(validatorID ids.ShortID, chainID ids.ID, requestID uint32, containerID ids.ID)
|
|
QueryFailed(validatorID ids.ShortID, chainID ids.ID, requestID uint32)
|
|
}
|