Documentation
¶
Index ¶
- type CostVisitor
- func (self *CostVisitor) CreditAll(credit uint8)
- func (self *CostVisitor) CreditAllExponential(exponentBasis time.Duration)
- func (self *CostVisitor) CreditOverTime(credit uint8, period time.Duration) *time.Ticker
- func (self *CostVisitor) CreditOverTimeExponential(period time.Duration, exponentBasis time.Duration) *time.Ticker
- func (self *CostVisitor) GetCircuitCount(terminatorId string) uint32
- func (self *CostVisitor) GetCost(terminatorId string) uint32
- func (self *CostVisitor) GetFailureCost(terminatorId string) uint32
- func (self *CostVisitor) HandleTerminatorChange(event xt.StrategyChangeEvent) error
- func (self *CostVisitor) NotifyEvent(event xt.TerminatorEvent)
- func (self *CostVisitor) VisitCircuitRemoved(event xt.TerminatorEvent)
- func (self *CostVisitor) VisitDialFailed(event xt.TerminatorEvent)
- func (self *CostVisitor) VisitDialSucceeded(event xt.TerminatorEvent)
- type TerminatorCosts
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CostVisitor ¶
type CostVisitor struct {
Costs cmap.ConcurrentMap[string, *TerminatorCosts]
CircuitCost uint32
FailureCost uint32
SuccessCredit uint32
}
func NewCostVisitor ¶
func NewCostVisitor(circuitCost, failureCost, successCredit uint16) *CostVisitor
func (*CostVisitor) CreditAll ¶
func (self *CostVisitor) CreditAll(credit uint8)
func (*CostVisitor) CreditAllExponential ¶
func (self *CostVisitor) CreditAllExponential(exponentBasis time.Duration)
func (*CostVisitor) CreditOverTime ¶
func (*CostVisitor) CreditOverTimeExponential ¶
func (*CostVisitor) GetCircuitCount ¶
func (self *CostVisitor) GetCircuitCount(terminatorId string) uint32
func (*CostVisitor) GetCost ¶
func (self *CostVisitor) GetCost(terminatorId string) uint32
func (*CostVisitor) GetFailureCost ¶
func (self *CostVisitor) GetFailureCost(terminatorId string) uint32
func (*CostVisitor) HandleTerminatorChange ¶
func (self *CostVisitor) HandleTerminatorChange(event xt.StrategyChangeEvent) error
func (*CostVisitor) NotifyEvent ¶
func (self *CostVisitor) NotifyEvent(event xt.TerminatorEvent)
func (*CostVisitor) VisitCircuitRemoved ¶
func (self *CostVisitor) VisitCircuitRemoved(event xt.TerminatorEvent)
func (*CostVisitor) VisitDialFailed ¶
func (self *CostVisitor) VisitDialFailed(event xt.TerminatorEvent)
func (*CostVisitor) VisitDialSucceeded ¶
func (self *CostVisitor) VisitDialSucceeded(event xt.TerminatorEvent)
type TerminatorCosts ¶
type TerminatorCosts struct {
CircuitCount uint32
FailureCost uint32
CachedCost uint32
LastFailure time.Time
}
func (*TerminatorCosts) Get ¶
func (self *TerminatorCosts) Get() uint16
func (*TerminatorCosts) Inspect ¶
func (self *TerminatorCosts) Inspect(terminatorId string) *inspect.TerminatorCostDetail
Click to show internal directories.
Click to hide internal directories.