author | Tero Marttila <terom@fixme.fi> |
Wed, 27 May 2009 23:57:48 +0300 | |
branch | new-lib-errors |
changeset 217 | 7728d6ec3abf |
parent 154 | f4472119de3b |
permissions | -rw-r--r-- |
153
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1 |
#ifndef IRC_NET_INTERNAL_H |
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2 |
#define IRC_NET_INTERNAL_H |
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3 |
|
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4 |
/** |
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5 |
* Private irc_net interface |
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6 |
*/ |
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7 |
#include "irc_net.h" |
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
8 |
|
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
9 |
/** |
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
10 |
* Our callbacks for irc_conn |
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
11 |
*/ |
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
12 |
extern struct irc_conn_callbacks irc_net_conn_callbacks; |
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
13 |
|
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
14 |
/** |
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
15 |
* Our irc_conn::handlers list |
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
16 |
*/ |
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
17 |
extern struct irc_cmd_handler irc_net_cmd_handlers[]; |
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
18 |
|
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
19 |
/** |
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
20 |
* Destroy our irc_conn, and mark ourselves as disconnected. |
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
21 |
*/ |
154
f4472119de3b
initial code towards transport implementation, doesn't compile
Tero Marttila <terom@fixme.fi>
parents:
153
diff
changeset
|
22 |
void irc_net_disconnect (struct irc_net *net); |
153
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
23 |
|
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
24 |
/** |
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
25 |
* Fixed delay between reconnection attempts in seconds |
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
26 |
*/ |
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
27 |
#define IRC_NET_RECONNECT_INTERVAL (5 * 60) |
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
28 |
|
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
29 |
/** |
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
30 |
* Establish a new connection to our server, either right away (if \a now give), or after IRC_NET_RECONNETC_INTERVAL. |
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
31 |
*/ |
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
32 |
err_t irc_net_connect (struct irc_net *net, bool now, struct error_info *err); |
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
33 |
|
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
34 |
/** |
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
35 |
* Initialize the connect state |
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
36 |
*/ |
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
37 |
err_t irc_net_connect_init (struct irc_net *net, struct error_info *err); |
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
38 |
|
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
39 |
/** |
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
40 |
* Destroy the connect state |
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
41 |
*/ |
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
42 |
void irc_net_connect_destroy (struct irc_net *net); |
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
43 |
|
d35e7cb3a489
implement irc_net reconnect, requires testing
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
44 |
#endif |