Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type PriorityQueue ¶
type PriorityQueue []*Proxy
func (PriorityQueue) Len ¶
func (pq PriorityQueue) Len() int
func (PriorityQueue) Less ¶
func (pq PriorityQueue) Less(i, j int) bool
func (*PriorityQueue) Pop ¶
func (pq *PriorityQueue) Pop() interface{}
func (*PriorityQueue) Push ¶
func (pq *PriorityQueue) Push(x interface{})
func (PriorityQueue) Swap ¶
func (pq PriorityQueue) Swap(i, j int)
func (*PriorityQueue) Update ¶
func (pq *PriorityQueue) Update(item *Proxy, priority int)
type Proxy ¶
type Proxy struct { Name string Client *http.Client Times []time.Duration LimitsPerDomain map[string]*rate.Limit IsReady bool // contains filtered or unexported fields }
func ProxyTester ¶
type ProxyBroker ¶
type ProxyBroker struct { // Proxies PriorityQueue PriorityQueue ProxyExist map[string]bool // Config SourceFn func() []string ProxyTesterFn func(string) *Proxy LimitsPerDomain map[string]*rate.Limit DurationBetweenSourceFetch time.Duration NumberOfParallelTest int // contains filtered or unexported fields }
func NewDefault ¶
func NewDefault() *ProxyBroker
func (*ProxyBroker) Init ¶
func (pb *ProxyBroker) Init(waitN int) *ProxyBroker
func (*ProxyBroker) WithDomainRateLimit ¶
func (pb *ProxyBroker) WithDomainRateLimit(domain string, limit *rate.Limit) *ProxyBroker
func (*ProxyBroker) WithSourceFn ¶
func (pb *ProxyBroker) WithSourceFn(sourceFn func() []string) *ProxyBroker
Click to show internal directories.
Click to hide internal directories.