Lines Matching refs:bevf

135 be_underlying_writebuf_full(struct bufferevent_filtered *bevf,  in be_underlying_writebuf_full()  argument
138 struct bufferevent *u = bevf->underlying; in be_underlying_writebuf_full()
147 be_readbuf_full(struct bufferevent_filtered *bevf, in be_readbuf_full() argument
150 struct bufferevent *bufev = downcast(bevf); in be_readbuf_full()
231 struct bufferevent_filtered *bevf = upcast(bev); in be_filter_unlink() local
232 EVUTIL_ASSERT(bevf); in be_filter_unlink()
234 if (bevf->bev.options & BEV_OPT_CLOSE_ON_FREE) { in be_filter_unlink()
240 if (BEV_UPCAST(bevf->underlying)->refcnt < 2) { in be_filter_unlink()
244 bufferevent_free(bevf->underlying); in be_filter_unlink()
247 if (bevf->underlying) { in be_filter_unlink()
248 if (bevf->underlying->errorcb == be_filter_eventcb) in be_filter_unlink()
249 bufferevent_setcb(bevf->underlying, in be_filter_unlink()
251 bufferevent_unsuspend_read_(bevf->underlying, in be_filter_unlink()
260 struct bufferevent_filtered *bevf = upcast(bev); in be_filter_destruct() local
261 EVUTIL_ASSERT(bevf); in be_filter_destruct()
262 if (bevf->free_context) in be_filter_destruct()
263 bevf->free_context(bevf->context); in be_filter_destruct()
265 if (bevf->inbuf_cb) in be_filter_destruct()
266 evbuffer_remove_cb_entry(bev->input, bevf->inbuf_cb); in be_filter_destruct()
268 if (bevf->outbuf_cb) in be_filter_destruct()
269 evbuffer_remove_cb_entry(bev->output, bevf->outbuf_cb); in be_filter_destruct()
275 struct bufferevent_filtered *bevf = upcast(bev); in be_filter_enable() local
281 bufferevent_unsuspend_read_(bevf->underlying, in be_filter_enable()
290 struct bufferevent_filtered *bevf = upcast(bev); in be_filter_disable() local
295 bufferevent_suspend_read_(bevf->underlying, in be_filter_disable()
302 be_filter_process_input(struct bufferevent_filtered *bevf, in be_filter_process_input() argument
307 struct bufferevent *bev = downcast(bevf); in be_filter_process_input()
313 be_readbuf_full(bevf, state)) in be_filter_process_input()
323 res = bevf->process_in(bevf->underlying->input, in be_filter_process_input()
324 bev->input, limit, state, bevf->context); in be_filter_process_input()
330 evbuffer_get_length(bevf->underlying->input) && in be_filter_process_input()
331 !be_readbuf_full(bevf, state)); in be_filter_process_input()
341 be_filter_process_output(struct bufferevent_filtered *bevf, in be_filter_process_output() argument
347 struct bufferevent *bufev = downcast(bevf); in be_filter_process_output()
357 be_underlying_writebuf_full(bevf, state) || in be_filter_process_output()
364 evbuffer_cb_clear_flags(bufev->output, bevf->outbuf_cb, in be_filter_process_output()
374 bevf->underlying->wm_write.high) in be_filter_process_output()
375 limit = bevf->underlying->wm_write.high - in be_filter_process_output()
376 evbuffer_get_length(bevf->underlying->output); in be_filter_process_output()
378 res = bevf->process_out(downcast(bevf)->output, in be_filter_process_output()
379 bevf->underlying->output, in be_filter_process_output()
382 bevf->context); in be_filter_process_output()
394 !be_underlying_writebuf_full(bevf,state)); in be_filter_process_output()
403 !be_underlying_writebuf_full(bevf, state)) { in be_filter_process_output()
410 evbuffer_cb_set_flags(bufev->output,bevf->outbuf_cb, in be_filter_process_output()
424 struct bufferevent_filtered *bevf = arg; in bufferevent_filtered_outbuf_cb() local
425 struct bufferevent *bev = downcast(bevf); in bufferevent_filtered_outbuf_cb()
432 be_filter_process_output(bevf, BEV_NORMAL, &processed_any); in bufferevent_filtered_outbuf_cb()
440 struct bufferevent_filtered *bevf = me_; in be_filter_read_nolock_() local
443 struct bufferevent *bufev = downcast(bevf); in be_filter_read_nolock_()
453 if (bevf->got_eof) in be_filter_read_nolock_()
459 res = be_filter_process_input(bevf, state, &processed_any); in be_filter_read_nolock_()
468 be_readbuf_full(bevf, state)) { in be_filter_read_nolock_()
474 evbuffer_cb_set_flags(bufev->input, bevf->inbuf_cb, in be_filter_read_nolock_()
486 struct bufferevent_filtered *bevf = arg; in bufferevent_filtered_inbuf_cb() local
488 struct bufferevent *bev = downcast(bevf); in bufferevent_filtered_inbuf_cb()
492 if (bevf->got_eof) in bufferevent_filtered_inbuf_cb()
498 if (!be_readbuf_full(bevf, state)) { in bufferevent_filtered_inbuf_cb()
503 evbuffer_cb_clear_flags(bev->input, bevf->inbuf_cb, in bufferevent_filtered_inbuf_cb()
505 if (evbuffer_get_length(bevf->underlying->input) > 0) in bufferevent_filtered_inbuf_cb()
506 be_filter_read_nolock_(bevf->underlying, bevf); in bufferevent_filtered_inbuf_cb()
516 struct bufferevent_filtered *bevf = me_; in be_filter_readcb() local
517 struct bufferevent *bev = downcast(bevf); in be_filter_readcb()
531 struct bufferevent_filtered *bevf = me_; in be_filter_writecb() local
532 struct bufferevent *bev = downcast(bevf); in be_filter_writecb()
543 be_filter_process_output(bevf, BEV_NORMAL, &processed_any); in be_filter_writecb()
553 struct bufferevent_filtered *bevf = me_; in be_filter_eventcb() local
554 struct bufferevent *bev = downcast(bevf); in be_filter_eventcb()
576 struct bufferevent_filtered *bevf = upcast(bufev); in be_filter_flush() local
578 EVUTIL_ASSERT(bevf); in be_filter_flush()
583 be_filter_process_input(bevf, mode, &processed_any); in be_filter_flush()
586 be_filter_process_output(bevf, mode, &processed_any); in be_filter_flush()
590 bufferevent_flush(bevf->underlying, iotype, mode); in be_filter_flush()
601 struct bufferevent_filtered *bevf; in be_filter_ctrl() local
604 bevf = upcast(bev); in be_filter_ctrl()
605 data->ptr = bevf->underlying; in be_filter_ctrl()
609 bevf = upcast(bev); in be_filter_ctrl()
611 if (bevf->underlying && in be_filter_ctrl()
612 bevf->underlying->be_ops && in be_filter_ctrl()
613 bevf->underlying->be_ops->ctrl) { in be_filter_ctrl()
614 return (bevf->underlying->be_ops->ctrl)(bevf->underlying, op, data); in be_filter_ctrl()