Mercurial > dovecot > original-hg > dovecot-1.2
annotate src/login-common/login-proxy-state.h @ 9442:562af4a76438 HEAD
imap/pop3 proxy: Track "destination down" state separately for IP+ports, not just IPs.
In some systems different ports could get redirected to different servers.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Fri, 16 Oct 2009 15:19:54 -0400 |
parents | 93e2b0519e65 |
children |
rev | line source |
---|---|
9309
bac1371c18e4
login proxy: Forgot to add login-proxy-state.h in previous commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
1 #ifndef LOGIN_PROXY_STATE_H |
bac1371c18e4
login proxy: Forgot to add login-proxy-state.h in previous commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
2 #define LOGIN_PROXY_STATE_H |
bac1371c18e4
login proxy: Forgot to add login-proxy-state.h in previous commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
3 |
9323 | 4 #include <sys/time.h> |
5 | |
9309
bac1371c18e4
login proxy: Forgot to add login-proxy-state.h in previous commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
6 struct login_proxy_record { |
9442
562af4a76438
imap/pop3 proxy: Track "destination down" state separately for IP+ports, not just IPs.
Timo Sirainen <tss@iki.fi>
parents:
9323
diff
changeset
|
7 struct ip_addr ip; |
562af4a76438
imap/pop3 proxy: Track "destination down" state separately for IP+ports, not just IPs.
Timo Sirainen <tss@iki.fi>
parents:
9323
diff
changeset
|
8 unsigned int port; |
562af4a76438
imap/pop3 proxy: Track "destination down" state separately for IP+ports, not just IPs.
Timo Sirainen <tss@iki.fi>
parents:
9323
diff
changeset
|
9 unsigned int num_waiting_connections; |
562af4a76438
imap/pop3 proxy: Track "destination down" state separately for IP+ports, not just IPs.
Timo Sirainen <tss@iki.fi>
parents:
9323
diff
changeset
|
10 |
9313
34179f0f4d6a
login proxy: Improvements to "fail immediately if server is down" handling.
Timo Sirainen <tss@iki.fi>
parents:
9309
diff
changeset
|
11 struct timeval last_failure; |
34179f0f4d6a
login proxy: Improvements to "fail immediately if server is down" handling.
Timo Sirainen <tss@iki.fi>
parents:
9309
diff
changeset
|
12 struct timeval last_success; |
9309
bac1371c18e4
login proxy: Forgot to add login-proxy-state.h in previous commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
13 }; |
bac1371c18e4
login proxy: Forgot to add login-proxy-state.h in previous commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
14 |
bac1371c18e4
login proxy: Forgot to add login-proxy-state.h in previous commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
15 struct login_proxy_state *login_proxy_state_init(void); |
bac1371c18e4
login proxy: Forgot to add login-proxy-state.h in previous commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
16 void login_proxy_state_deinit(struct login_proxy_state **state); |
bac1371c18e4
login proxy: Forgot to add login-proxy-state.h in previous commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
17 |
bac1371c18e4
login proxy: Forgot to add login-proxy-state.h in previous commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
18 struct login_proxy_record * |
bac1371c18e4
login proxy: Forgot to add login-proxy-state.h in previous commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
19 login_proxy_state_get(struct login_proxy_state *state, |
9442
562af4a76438
imap/pop3 proxy: Track "destination down" state separately for IP+ports, not just IPs.
Timo Sirainen <tss@iki.fi>
parents:
9323
diff
changeset
|
20 const struct ip_addr *ip, unsigned int port); |
9309
bac1371c18e4
login proxy: Forgot to add login-proxy-state.h in previous commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
21 |
bac1371c18e4
login proxy: Forgot to add login-proxy-state.h in previous commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
22 #endif |