-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnet.h
50 lines (34 loc) · 1.07 KB
/
net.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#ifndef _NET_H_
#define _NET_H_
#include "uv.h"
#include "tls.h"
struct uvv_net {
char *host;
char ip[INET6_ADDRSTRLEN];
int port;
int timeout;
int connected;
uv_loop_t *loop;
uv_getaddrinfo_t resolver;
uv_connect_t conn;
uv_tcp_t tcp;
uv_timer_t timer;
struct uvv_tls *tls;
int use_ssl;
int tls_established;
void *data;
void (* conn_cb)(struct uvv_net *);
void (* read_cb)(struct uvv_net *, size_t, const char *);
void (* error_cb)(struct uvv_net *, int, const char *);
void (* close_cb)(struct uvv_net *);
};
struct uvv_net *uvv_net__create(uv_loop_t *loop);
void uvv_net__set_tls(struct uvv_net *net, uvv_tls_ctx *ctx);
int uvv_net__connect(struct uvv_net *net, const char *host, int port, int timeout);
int uvv_net__close(struct uvv_net *net);
void uvv_net__destroy(struct uvv_net *net);
void uvv_net__write(struct uvv_net *net, const char *buf, int len);
int uvv_net__is_ssl(struct uvv_net *net);
void uvv_net__resume(struct uvv_net *net);
void uvv_net__pause(struct uvv_net *net);
#endif // _NET_H_