|
|
@ -641,8 +641,6 @@ server_stream(EV_P_ ev_io *w, buffer_t *buf) |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
if (!remote->direct) ev_timer_again(EV_A_ & remote->recv_ctx->watcher); |
|
|
|
|
|
|
|
// insert shadowsocks header |
|
|
|
if (!remote->direct) { |
|
|
|
#ifdef __ANDROID__ |
|
|
@ -1008,8 +1006,6 @@ remote_recv_cb(EV_P_ ev_io *w, int revents) |
|
|
|
remote_t *remote = remote_recv_ctx->remote; |
|
|
|
server_t *server = remote->server; |
|
|
|
|
|
|
|
if (!remote->direct) ev_timer_again(EV_A_ & remote->recv_ctx->watcher); |
|
|
|
|
|
|
|
ssize_t r = recv(remote->fd, server->buf->data, BUF_SIZE, 0); |
|
|
|
|
|
|
|
if (r == 0) { |
|
|
@ -1123,7 +1119,6 @@ remote_send_cb(EV_P_ ev_io *w, int revents) |
|
|
|
if (r == 0) { |
|
|
|
remote_send_ctx->connected = 1; |
|
|
|
ev_timer_stop(EV_A_ & remote_send_ctx->watcher); |
|
|
|
if (!remote->direct) ev_timer_start(EV_A_ & remote->recv_ctx->watcher); |
|
|
|
ev_io_start(EV_A_ & remote->recv_ctx->io); |
|
|
|
|
|
|
|
// no need to send any data |
|
|
@ -1197,8 +1192,6 @@ new_remote(int fd, int timeout) |
|
|
|
ev_io_init(&remote->send_ctx->io, remote_send_cb, fd, EV_WRITE); |
|
|
|
ev_timer_init(&remote->send_ctx->watcher, remote_timeout_cb, |
|
|
|
min(MAX_CONNECT_TIMEOUT, timeout), 0); |
|
|
|
ev_timer_init(&remote->recv_ctx->watcher, remote_timeout_cb, |
|
|
|
timeout, timeout); |
|
|
|
|
|
|
|
return remote; |
|
|
|
} |
|
|
@ -1223,7 +1216,6 @@ close_and_free_remote(EV_P_ remote_t *remote) |
|
|
|
{ |
|
|
|
if (remote != NULL) { |
|
|
|
ev_timer_stop(EV_A_ & remote->send_ctx->watcher); |
|
|
|
ev_timer_stop(EV_A_ & remote->recv_ctx->watcher); |
|
|
|
ev_io_stop(EV_A_ & remote->send_ctx->io); |
|
|
|
ev_io_stop(EV_A_ & remote->recv_ctx->io); |
|
|
|
close(remote->fd); |
|
|
|