5
#include "backenddef/backenddef"
8
#include "ThreadsAndMutexes/mutex/mutex"
9
#include "profiler/profiler"
10
#include "backendcheck/backendcheck"
11
#include "httpbuffer/httpbuffer"
12
#include "dnsentry/dnsentry"
19
Backend (BackendDef const &b);
22
void markconnecterror();
24
int sock() const { return clsocket; }
27
string description() const;
29
bool available() const;
30
string availablestr() const;
32
bool live() const { return islive; };
33
void live (bool state);
34
string livestr() const;
37
bool up() const { return isup; }
40
string const &server() const { return bdef.server(); }
41
void server(string s) { bdef.server(s); }
43
int port() const { return bdef.port(); }
44
void port(int p) { bdef.port(p); }
46
unsigned maxconn() const { return bdef.maxconn(); }
47
void maxconn (unsigned m) { bdef.maxconn(m); }
49
string const &hostmatch() const { return bdef.hostmatch(); }
50
void hostmatch(string const &s) { bdef.hostmatch(s); }
51
regex_t const &hostregex() const { return bdef.hostregex(); }
53
string const &urlmatch() const { return bdef.urlmatch(); }
54
void urlmatch(string const &u) { bdef.urlmatch(u); }
55
regex_t const &urlregex() const { return bdef.urlregex(); }
57
unsigned weight() const { return bdef.weight(); }
58
void weight (unsigned w) { bdef.weight(w); }
59
unsigned adjustedweight() const { return bdef.adjustedweight(); }
61
unsigned connections() const { return nconn; }
62
unsigned connecterrors() const { return nconnerr; }
64
double bytesserved() const { return bytes_served; }
65
unsigned clientsserved() const { return totconn; }
67
double loadavg() const { return loadaverage; }
68
void loadavg(double l) { loadaverage = l; }
70
void addbytes (unsigned n);
71
void startconnection();
74
BackendDef const &backenddef() const {
78
BackendCheck const &backendcheck() {
79
return bdef.backendcheck();
81
void backendcheck(BackendCheck const &b) {
85
void balancerindex(int i) { index = i; }
86
int balancerindex() const { return index; }
94
unsigned nconn, totconn, nconnerr;