APP_CONN
int tx(APP_CONN *conn, const void *buf, int buf_len)
int rx(APP_CONN *conn, void *buf, int buf_len)
int get_conn_fd(APP_CONN *conn)
int get_conn_pending_tx(APP_CONN *conn)
int get_conn_pending_rx(APP_CONN *conn)
void teardown(APP_CONN *conn)
APP_CONN *conn = NULL;
APP_CONN *new_conn(SSL_CTX *ctx, const char *hostname)
APP_CONN *conn;
conn = calloc(1, sizeof(APP_CONN));
int tx(APP_CONN *conn, const void *buf, int buf_len)
int rx(APP_CONN *conn, void *buf, int buf_len)
int get_conn_fd(APP_CONN *conn)
int get_conn_pending_tx(APP_CONN *conn)
int get_conn_pending_rx(APP_CONN *conn)
int get_conn_pump_timeout(APP_CONN *conn)
void pump(APP_CONN *conn)
void teardown(APP_CONN *conn)
APP_CONN *conn = NULL;
APP_CONN *new_conn(SSL_CTX *ctx, const char *hostname)
APP_CONN *conn;
conn = calloc(1, sizeof(APP_CONN));
int tx(APP_CONN *conn, const void *buf, int buf_len)
int rx(APP_CONN *conn, void *buf, int buf_len)
int get_conn_fd(APP_CONN *conn)
int get_conn_pending_tx(APP_CONN *conn)
int get_conn_pending_rx(APP_CONN *conn)
int get_conn_pump_timeout(APP_CONN *conn)
void pump(APP_CONN *conn)
void teardown(APP_CONN *conn)
APP_CONN *conn = NULL;
APP_CONN *new_conn(SSL_CTX *ctx, int fd, const char *bare_hostname)
APP_CONN *conn;
conn = calloc(1, sizeof(APP_CONN));
int tx(APP_CONN *conn, const void *buf, int buf_len)
int rx(APP_CONN *conn, void *buf, int buf_len)
int read_net_tx(APP_CONN *conn, void *buf, int buf_len)
int write_net_rx(APP_CONN *conn, const void *buf, int buf_len)
size_t net_rx_space(APP_CONN *conn)
size_t net_tx_avail(APP_CONN *conn)
int get_conn_pending_tx(APP_CONN *conn)
int get_conn_pending_rx(APP_CONN *conn)
void teardown(APP_CONN *conn)
static int pump(APP_CONN *conn, int fd, int events, int timeout)
APP_CONN *conn = NULL;
APP_CONN *new_conn(SSL_CTX *ctx, const char *bare_hostname)
APP_CONN *conn;
conn = calloc(1, sizeof(APP_CONN));
typedef void(app_connect_cb)(APP_CONN *conn, int status, void *arg);
APP_CONN *new_conn(SSL_CTX *ctx, const char *hostname,
APP_CONN *conn = NULL;
conn = calloc(1, sizeof(APP_CONN));
typedef void(app_write_cb)(APP_CONN *conn, int status, void *arg);
typedef void(app_read_cb)(APP_CONN *conn, void *buf, size_t buf_len, void *arg);
static void set_timer(APP_CONN *conn);
int app_read_start(APP_CONN *conn, app_read_cb *cb, void *arg)
int app_write(APP_CONN *conn, const void *buf, size_t buf_len, app_write_cb *cb, void *arg)
void teardown(APP_CONN *conn)
static int handshake_ssl(APP_CONN *conn);
static void flush_write_buf(APP_CONN *conn);
static void set_rx(APP_CONN *conn);
static void enqueue_upper_write_op(APP_CONN *conn, UPPER_WRITE_OP *op)
static int try_write(APP_CONN *conn, UPPER_WRITE_OP *op);
static void dequeue_upper_write_op(APP_CONN *conn)
static void handle_pending_writes(APP_CONN *conn);
static int write_deferred(APP_CONN *conn, const void *buf, size_t buf_len, app_write_cb *cb, void *arg);
static void on_rx_push(APP_CONN *conn)
static int setup_ssl(APP_CONN *conn, const char *hostname);
static void net_error(APP_CONN *conn)
static void handle_pending_writes(APP_CONN *conn)
APP_CONN *conn = (APP_CONN *)stream->data;
static void set_rx(APP_CONN *conn)
APP_CONN *conn = op->conn;
static void flush_write_buf(APP_CONN *conn)
static void handshake_done_ssl(APP_CONN *conn)
static int handshake_ssl(APP_CONN *conn)
APP_CONN *conn;
static int setup_ssl(APP_CONN *conn, const char *hostname)
APP_CONN *conn = (APP_CONN *)tcp_connect->data;
APP_CONN *conn = (APP_CONN *)handle->data;
APP_CONN *conn = (APP_CONN *)timer->data;
static void set_timer(APP_CONN *conn)
static int try_write(APP_CONN *conn, UPPER_WRITE_OP *op)
static int write_deferred(APP_CONN *conn, const void *buf, size_t buf_len, app_write_cb *cb, void *arg)
APP_CONN *conn;
APP_CONN *conn = (APP_CONN *)handle->data;
static void post_read(APP_CONN *conn, void *buf, size_t buf_len, void *arg)
static void post_write_get(APP_CONN *conn, int status, void *arg)
static void post_connect(APP_CONN *conn, int status, void *arg)
APP_CONN *conn = NULL;