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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
93e2b0519e65 Compiling fix.
Timo Sirainen <tss@iki.fi>
parents: 9313
diff changeset
4 #include <sys/time.h>
93e2b0519e65 Compiling fix.
Timo Sirainen <tss@iki.fi>
parents: 9313
diff changeset
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