Lines Matching refs:bufev
133 struct bufferevent *bufev = arg; in bufferevent_socket_outbuf_cb() local
134 struct bufferevent_private *bufev_p = BEV_UPCAST(bufev); in bufferevent_socket_outbuf_cb()
137 (bufev->enabled & EV_WRITE) && in bufferevent_socket_outbuf_cb()
138 !event_pending(&bufev->ev_write, EV_WRITE, NULL) && in bufferevent_socket_outbuf_cb()
142 if (bufferevent_add_event_(&bufev->ev_write, &bufev->timeout_write) == -1) { in bufferevent_socket_outbuf_cb()
151 struct bufferevent *bufev = arg; in bufferevent_readcb() local
152 struct bufferevent_private *bufev_p = BEV_UPCAST(bufev); in bufferevent_readcb()
158 bufferevent_incref_and_lock_(bufev); in bufferevent_readcb()
168 input = bufev->input; in bufferevent_readcb()
174 if (bufev->wm_read.high != 0) { in bufferevent_readcb()
175 howmuch = bufev->wm_read.high - evbuffer_get_length(input); in bufferevent_readcb()
178 bufferevent_wm_suspend_read(bufev); in bufferevent_readcb()
214 bufferevent_trigger_nolock_(bufev, EV_READ, 0); in bufferevent_readcb()
222 bufferevent_disable(bufev, EV_READ); in bufferevent_readcb()
223 bufferevent_run_eventcb_(bufev, what, 0); in bufferevent_readcb()
226 bufferevent_decref_and_unlock_(bufev); in bufferevent_readcb()
232 struct bufferevent *bufev = arg; in bufferevent_writecb() local
233 struct bufferevent_private *bufev_p = BEV_UPCAST(bufev); in bufferevent_writecb()
239 bufferevent_incref_and_lock_(bufev); in bufferevent_writecb()
262 event_del(&bufev->ev_write); in bufferevent_writecb()
263 event_del(&bufev->ev_read); in bufferevent_writecb()
264 bufferevent_run_eventcb_(bufev, BEV_EVENT_ERROR, 0); in bufferevent_writecb()
268 bufferevent_socket_set_conn_address_fd_(bufev, fd); in bufferevent_writecb()
270 if (BEV_IS_ASYNC(bufev)) { in bufferevent_writecb()
271 event_del(&bufev->ev_write); in bufferevent_writecb()
272 bufferevent_async_set_connected_(bufev); in bufferevent_writecb()
273 bufferevent_run_eventcb_(bufev, in bufferevent_writecb()
278 bufferevent_run_eventcb_(bufev, in bufferevent_writecb()
280 if (!(bufev->enabled & EV_WRITE) || in bufferevent_writecb()
282 event_del(&bufev->ev_write); in bufferevent_writecb()
293 if (evbuffer_get_length(bufev->output)) { in bufferevent_writecb()
294 evbuffer_unfreeze(bufev->output, 1); in bufferevent_writecb()
295 res = evbuffer_write_atmost(bufev->output, fd, atmost); in bufferevent_writecb()
296 evbuffer_freeze(bufev->output, 1); in bufferevent_writecb()
315 if (evbuffer_get_length(bufev->output) == 0) { in bufferevent_writecb()
316 event_del(&bufev->ev_write); in bufferevent_writecb()
324 bufferevent_trigger_nolock_(bufev, EV_WRITE, 0); in bufferevent_writecb()
330 if (evbuffer_get_length(bufev->output) == 0) { in bufferevent_writecb()
331 event_del(&bufev->ev_write); in bufferevent_writecb()
336 bufferevent_disable(bufev, EV_WRITE); in bufferevent_writecb()
337 bufferevent_run_eventcb_(bufev, what, 0); in bufferevent_writecb()
340 bufferevent_decref_and_unlock_(bufev); in bufferevent_writecb()
348 struct bufferevent *bufev; in bufferevent_socket_new() local
363 bufev = &bufev_p->bev; in bufferevent_socket_new()
364 evbuffer_set_flags(bufev->output, EVBUFFER_FLAG_DRAINS_TO_FD); in bufferevent_socket_new()
366 event_assign(&bufev->ev_read, bufev->ev_base, fd, in bufferevent_socket_new()
367 EV_READ|EV_PERSIST|EV_FINALIZE, bufferevent_readcb, bufev); in bufferevent_socket_new()
368 event_assign(&bufev->ev_write, bufev->ev_base, fd, in bufferevent_socket_new()
369 EV_WRITE|EV_PERSIST|EV_FINALIZE, bufferevent_writecb, bufev); in bufferevent_socket_new()
371 evbuffer_add_cb(bufev->output, bufferevent_socket_outbuf_cb, bufev); in bufferevent_socket_new()
373 evbuffer_freeze(bufev->input, 0); in bufferevent_socket_new()
374 evbuffer_freeze(bufev->output, 1); in bufferevent_socket_new()
376 return bufev; in bufferevent_socket_new()
556 struct bufferevent *bufev; in bufferevent_new() local
558 if (!(bufev = bufferevent_socket_new(NULL, fd, 0))) in bufferevent_new()
561 bufferevent_setcb(bufev, readcb, writecb, eventcb, cbarg); in bufferevent_new()
563 return bufev; in bufferevent_new()
568 be_socket_enable(struct bufferevent *bufev, short event) in be_socket_enable() argument
571 bufferevent_add_event_(&bufev->ev_read, &bufev->timeout_read) == -1) in be_socket_enable()
574 bufferevent_add_event_(&bufev->ev_write, &bufev->timeout_write) == -1) in be_socket_enable()
580 be_socket_disable(struct bufferevent *bufev, short event) in be_socket_disable() argument
582 struct bufferevent_private *bufev_p = BEV_UPCAST(bufev); in be_socket_disable()
584 if (event_del(&bufev->ev_read) == -1) in be_socket_disable()
589 if (event_del(&bufev->ev_write) == -1) in be_socket_disable()
596 be_socket_destruct(struct bufferevent *bufev) in be_socket_destruct() argument
598 struct bufferevent_private *bufev_p = BEV_UPCAST(bufev); in be_socket_destruct()
600 EVUTIL_ASSERT(BEV_IS_SOCKET(bufev)); in be_socket_destruct()
602 fd = event_get_fd(&bufev->ev_read); in be_socket_destruct()
619 be_socket_setfd(struct bufferevent *bufev, evutil_socket_t fd) in be_socket_setfd() argument
621 struct bufferevent_private *bufev_p = BEV_UPCAST(bufev); in be_socket_setfd()
623 BEV_LOCK(bufev); in be_socket_setfd()
624 EVUTIL_ASSERT(BEV_IS_SOCKET(bufev)); in be_socket_setfd()
626 event_del(&bufev->ev_read); in be_socket_setfd()
627 event_del(&bufev->ev_write); in be_socket_setfd()
629 evbuffer_unfreeze(bufev->input, 0); in be_socket_setfd()
630 evbuffer_unfreeze(bufev->output, 1); in be_socket_setfd()
632 event_assign(&bufev->ev_read, bufev->ev_base, fd, in be_socket_setfd()
633 EV_READ|EV_PERSIST|EV_FINALIZE, bufferevent_readcb, bufev); in be_socket_setfd()
634 event_assign(&bufev->ev_write, bufev->ev_base, fd, in be_socket_setfd()
635 EV_WRITE|EV_PERSIST|EV_FINALIZE, bufferevent_writecb, bufev); in be_socket_setfd()
638 bufferevent_enable(bufev, bufev->enabled); in be_socket_setfd()
642 BEV_UNLOCK(bufev); in be_socket_setfd()
647 bufferevent_priority_set(struct bufferevent *bufev, int priority) in bufferevent_priority_set() argument
650 struct bufferevent_private *bufev_p = BEV_UPCAST(bufev); in bufferevent_priority_set()
652 BEV_LOCK(bufev); in bufferevent_priority_set()
653 if (BEV_IS_ASYNC(bufev) || BEV_IS_FILTER(bufev) || BEV_IS_PAIR(bufev)) in bufferevent_priority_set()
656 if (event_priority_set(&bufev->ev_read, priority) == -1) in bufferevent_priority_set()
658 if (event_priority_set(&bufev->ev_write, priority) == -1) in bufferevent_priority_set()
665 BEV_UNLOCK(bufev); in bufferevent_priority_set()
671 bufferevent_base_set(struct event_base *base, struct bufferevent *bufev) in bufferevent_base_set() argument
675 BEV_LOCK(bufev); in bufferevent_base_set()
676 if (!BEV_IS_SOCKET(bufev)) in bufferevent_base_set()
679 bufev->ev_base = base; in bufferevent_base_set()
681 res = event_base_set(base, &bufev->ev_read); in bufferevent_base_set()
685 res = event_base_set(base, &bufev->ev_write); in bufferevent_base_set()
687 BEV_UNLOCK(bufev); in bufferevent_base_set()