Spaces:
Running
Running
package proxys | |
import "sync" | |
type IProxy struct { | |
ips []string | |
lock sync.Mutex | |
} | |
func NewIProxyIP(ips []string) IProxy { | |
return IProxy{ | |
ips: ips, | |
} | |
} | |
func (p *IProxy) GetIPS() int { | |
return len(p.ips) | |
} | |
func (p *IProxy) GetProxyIP() string { | |
if p == nil { | |
return "" | |
} | |
p.lock.Lock() | |
defer p.lock.Unlock() | |
if len(p.ips) == 0 { | |
return "" | |
} | |
proxyIp := p.ips[0] | |
p.ips = append(p.ips[1:], proxyIp) | |
return proxyIp | |
} | |