ipcache.h
Go to the documentation of this file.
153 GoodIpsIterator(const Raw &raw, const size_t currentPos): raw_(raw), position_(currentPos), processed_(0) { sync(); }
void markAsBad(const char *name, const Ip::Address &ip)
Definition: ipcache.cc:1022
Definition: ipcache.h:50
Definition: cbdata.h:275
std::forward_iterator_tag iterator_category
Definition: ipcache.h:118
GoodIpsIterator(const Raw &raw, const size_t currentPos)
Definition: ipcache.h:153
const ipcache_addrs * ipcache_gethostbyname(const char *, int flags)
Definition: ipcache.cc:729
bool operator!=(const GoodIpsIterator them) const
Definition: ipcache.h:164
bool have(const Ip::Address &ip, size_t *position=nullptr) const
Definition: ipcache.cc:984
Definition: AsyncJob.h:17
int ipcacheAddEntryFromHosts(const char *name, const char *ipaddr)
Definition: ipcache.cc:1126
bool operator==(const GoodIpsIterator them) const
Definition: ipcache.h:163
an interface for receiving IP::Addresses from nbgethostbyname()
Definition: ipcache.h:194
void nbgethostbyname(const char *name, const CbcPointer< IpReceiver > &receiver)
initiate an (often) asynchronous DNS lookup; the receiver gets the results
Definition: ipcache.cc:616
bool bad() const
whether the address is currently deemed problematic for any reason
Definition: ipcache.h:29
std::ostream & operator<<(std::ostream &os, const LookupDetails &dns)
Definition: LookupDetails.h:44
void ipcache_nbgethostbyname(const char *name, IPH *handler, void *handlerData)
Definition: ipcache.cc:609
virtual void noteLookup(const Dns::LookupDetails &)
Definition: ipcache.h:210
std::forward_iterator_tag iterator_category
Definition: ipcache.h:148
void ipcacheMarkGoodAddr(const char *name, const Ip::Address &)
Definition: ipcache.cc:1077
Definition: ipcache.h:46
void reportCurrent(std::ostream &os) const
prints current IP and other debugging information
Definition: ipcache.cc:1011
virtual void noteIp(const Ip::Address &)
Called when/if nbgethostbyname() discovers a new good IP address.
Definition: ipcache.h:206
void restoreGoodness(const char *name)
makes current() calls possible after a successful markAsBad()
Definition: ipcache.cc:969
void forgetMarking(const char *name, const Ip::Address &ip)
undo successful markAsBad()
Definition: ipcache.cc:1042
void reset(const Ip::Address &ip)
replace all info with the given (presumed good) IP address
Definition: ipcache.cc:957
Iterates over good IPs in CachedIps, starting at the so called current one.
Definition: ipcache.h:141
void ipcacheMarkBadAddr(const char *name, const Ip::Address &)
Definition: ipcache.cc:1069
Definition: Address.h:42
virtual void noteIps(const CachedIps *ips, const LookupDetails &details)=0
void IPH(const ipcache_addrs *, const Dns::LookupDetails &details, void *)
Definition: ipcache.h:227
Iterates over any (good and/or bad) IPs in CachedIps, in unspecified order.
Definition: ipcache.h:111
Introduction
- About Squid
- Why Squid?
- Squid Developers
- How to Donate
- How to Help Out
- Getting Squid
- Squid Source Packages
- Squid Deployment Case-Studies
- Squid Software Foundation
Documentation
- Quick Setup
- Configuration:
- FAQ and Wiki
- Guide Books:
- Non-English
- More...
Support
- Security Advisories
- Bugzilla Database
- Mailing lists
- Contacting us
- Commercial services
- Project Sponsors
- Squid-based products