Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // Error is the default error class for contact package Error = errs.Class("contact") )
Functions ¶
This section is empty.
Types ¶
type Chore ¶
type Chore struct {
// contains filtered or unexported fields
}
Chore is the contact chore for nodes announcing themselves to their trusted satellites
architecture: Chore
func (*Chore) Trigger ¶ added in v0.34.1
Trigger ensures that each cycle is done at least once. If the cycle is currently running it waits for the previous to complete and then runs.
func (*Chore) TriggerWait ¶ added in v0.25.0
TriggerWait ensures that each cycle is done at least once and waits for completion. If the cycle is currently running it waits for the previous to complete and then runs.
type Config ¶
type Config struct { ExternalAddress string `user:"true" help:"the public address of the node, useful for nodes behind NAT" default:""` // Chore config values Interval time.Duration `help:"how frequently the node contact chore should run" releaseDefault:"1h" devDefault:"30s"` }
Config contains configurable values for contact service
type Endpoint ¶
type Endpoint struct {
// contains filtered or unexported fields
}
Endpoint implements the contact service Endpoints
architecture: Endpoint
func NewEndpoint ¶
NewEndpoint returns a new contact service endpoint
func (*Endpoint) PingNode ¶
func (endpoint *Endpoint) PingNode(ctx context.Context, req *pb.ContactPingRequest) (_ *pb.ContactPingResponse, err error)
PingNode provides an easy way to verify a node is online and accepting requests
type PingStats ¶
type PingStats struct {
// contains filtered or unexported fields
}
PingStats contains information regarding when the node was last pinged
func (*PingStats) WhenLastPinged ¶
WhenLastPinged returns last time someone pinged this node.
type Service ¶ added in v0.22.0
type Service struct {
// contains filtered or unexported fields
}
Service is the contact service between storage nodes and satellites
func NewService ¶ added in v0.22.0
func NewService(log *zap.Logger, dialer rpc.Dialer, self *overlay.NodeDossier, trust *trust.Pool) *Service
NewService creates a new contact service
func (*Service) Local ¶ added in v0.22.0
func (service *Service) Local() overlay.NodeDossier
Local returns the storagenode node-dossier
func (*Service) PingSatellites ¶ added in v0.34.6
PingSatellites attempts to ping all satellites in trusted list until backoff reaches maxInterval
func (*Service) UpdateSelf ¶ added in v0.22.0
func (service *Service) UpdateSelf(capacity *pb.NodeCapacity)
UpdateSelf updates the local node with the capacity