Documentation
¶
Index ¶
Constants ¶
const DefaultMaxHostsCount = 10000
Variables ¶
var ErrUnresponsiveHost = errors.New("skipping as host is unresponsive")
ErrUnresponsiveHost is returned when a host is unresponsive
Functions ¶
This section is empty.
Types ¶
type Cache ¶
type Cache struct {
MaxHostError int
TrackError []string
// contains filtered or unexported fields
}
Cache is a cache for host based errors. It allows skipping certain hosts based on an error threshold.
It uses an LRU cache internally for skipping unresponsive hosts that remain so for a duration.
func (*Cache) Check ¶
Check returns true if a host should be skipped as it has been unresponsive for a certain number of times.
The value should be in host:port format (e.g., "example.com:443").
func (*Cache) MarkFailed ¶
MarkFailed marks a host as failed previously. The value should be in host:port format (e.g., "example.com:443").
func (*Cache) MarkSuccess ¶
MarkSuccess resets the error counter for a host on successful request. The value should be in host:port format (e.g., "example.com:443").
func (*Cache) QuarantinedCount ¶
QuarantinedCount returns the number of hosts that have been marked as unresponsive (error count >= MaxHostError). This is informational only, useful for logging cross-phase host error propagation.
func (*Cache) SetVerbose ¶
SetVerbose sets the cache to log at verbose level