Lines Matching refs:bufev

75 	struct bufferevent *bufev = arg;  in bufferevent_read_pressure_cb()  local
80 if (bufev->wm_read.high == 0 || now < bufev->wm_read.high) { in bufferevent_read_pressure_cb()
83 if (bufev->enabled & EV_READ) in bufferevent_read_pressure_cb()
84 bufferevent_add(&bufev->ev_read, bufev->timeout_read); in bufferevent_read_pressure_cb()
91 struct bufferevent *bufev = arg; in bufferevent_readcb() local
106 if (bufev->wm_read.high != 0) in bufferevent_readcb()
107 howmuch = bufev->wm_read.high; in bufferevent_readcb()
109 res = evbuffer_read(bufev->input, fd, howmuch); in bufferevent_readcb()
123 bufferevent_add(&bufev->ev_read, bufev->timeout_read); in bufferevent_readcb()
126 len = EVBUFFER_LENGTH(bufev->input); in bufferevent_readcb()
127 if (bufev->wm_read.low != 0 && len < bufev->wm_read.low) in bufferevent_readcb()
129 if (bufev->wm_read.high != 0 && len > bufev->wm_read.high) { in bufferevent_readcb()
130 struct evbuffer *buf = bufev->input; in bufferevent_readcb()
131 event_del(&bufev->ev_read); in bufferevent_readcb()
134 evbuffer_setcb(buf, bufferevent_read_pressure_cb, bufev); in bufferevent_readcb()
139 if (bufev->readcb != NULL) in bufferevent_readcb()
140 (*bufev->readcb)(bufev, bufev->cbarg); in bufferevent_readcb()
144 bufferevent_add(&bufev->ev_read, bufev->timeout_read); in bufferevent_readcb()
148 (*bufev->errorcb)(bufev, what, bufev->cbarg); in bufferevent_readcb()
154 struct bufferevent *bufev = arg; in bufferevent_writecb() local
163 if (EVBUFFER_LENGTH(bufev->output)) { in bufferevent_writecb()
164 res = evbuffer_write(bufev->output, fd); in bufferevent_writecb()
188 if (EVBUFFER_LENGTH(bufev->output) != 0) in bufferevent_writecb()
189 bufferevent_add(&bufev->ev_write, bufev->timeout_write); in bufferevent_writecb()
195 if (bufev->writecb != NULL && in bufferevent_writecb()
196 EVBUFFER_LENGTH(bufev->output) <= bufev->wm_write.low) in bufferevent_writecb()
197 (*bufev->writecb)(bufev, bufev->cbarg); in bufferevent_writecb()
202 if (EVBUFFER_LENGTH(bufev->output) != 0) in bufferevent_writecb()
203 bufferevent_add(&bufev->ev_write, bufev->timeout_write); in bufferevent_writecb()
207 (*bufev->errorcb)(bufev, what, bufev->cbarg); in bufferevent_writecb()
225 struct bufferevent *bufev; in bufferevent_new() local
227 if ((bufev = calloc(1, sizeof(struct bufferevent))) == NULL) in bufferevent_new()
230 if ((bufev->input = evbuffer_new()) == NULL) { in bufferevent_new()
231 free(bufev); in bufferevent_new()
235 if ((bufev->output = evbuffer_new()) == NULL) { in bufferevent_new()
236 evbuffer_free(bufev->input); in bufferevent_new()
237 free(bufev); in bufferevent_new()
241 event_set(&bufev->ev_read, fd, EV_READ, bufferevent_readcb, bufev); in bufferevent_new()
242 event_set(&bufev->ev_write, fd, EV_WRITE, bufferevent_writecb, bufev); in bufferevent_new()
244 bufev->readcb = readcb; in bufferevent_new()
245 bufev->writecb = writecb; in bufferevent_new()
246 bufev->errorcb = errorcb; in bufferevent_new()
248 bufev->cbarg = cbarg; in bufferevent_new()
255 bufev->enabled = EV_WRITE; in bufferevent_new()
257 return (bufev); in bufferevent_new()
261 bufferevent_priority_set(struct bufferevent *bufev, int priority) in bufferevent_priority_set() argument
263 if (event_priority_set(&bufev->ev_read, priority) == -1) in bufferevent_priority_set()
265 if (event_priority_set(&bufev->ev_write, priority) == -1) in bufferevent_priority_set()
274 bufferevent_free(struct bufferevent *bufev) in bufferevent_free() argument
276 event_del(&bufev->ev_read); in bufferevent_free()
277 event_del(&bufev->ev_write); in bufferevent_free()
279 evbuffer_free(bufev->input); in bufferevent_free()
280 evbuffer_free(bufev->output); in bufferevent_free()
282 free(bufev); in bufferevent_free()
291 bufferevent_write(struct bufferevent *bufev, void *data, size_t size) in bufferevent_write() argument
295 res = evbuffer_add(bufev->output, data, size); in bufferevent_write()
301 if (size > 0 && (bufev->enabled & EV_WRITE)) in bufferevent_write()
302 bufferevent_add(&bufev->ev_write, bufev->timeout_write); in bufferevent_write()
308 bufferevent_write_buffer(struct bufferevent *bufev, struct evbuffer *buf) in bufferevent_write_buffer() argument
312 res = bufferevent_write(bufev, buf->buffer, buf->off); in bufferevent_write_buffer()
320 bufferevent_read(struct bufferevent *bufev, void *data, size_t size) in bufferevent_read() argument
322 struct evbuffer *buf = bufev->input; in bufferevent_read()
337 bufferevent_enable(struct bufferevent *bufev, short event) in bufferevent_enable() argument
340 if (bufferevent_add(&bufev->ev_read, bufev->timeout_read) == -1) in bufferevent_enable()
344 if (bufferevent_add(&bufev->ev_write, bufev->timeout_write) == -1) in bufferevent_enable()
348 bufev->enabled |= event; in bufferevent_enable()
353 bufferevent_disable(struct bufferevent *bufev, short event) in bufferevent_disable() argument
356 if (event_del(&bufev->ev_read) == -1) in bufferevent_disable()
360 if (event_del(&bufev->ev_write) == -1) in bufferevent_disable()
364 bufev->enabled &= ~event; in bufferevent_disable()
373 bufferevent_settimeout(struct bufferevent *bufev, in bufferevent_settimeout() argument
375 bufev->timeout_read = timeout_read; in bufferevent_settimeout()
376 bufev->timeout_write = timeout_write; in bufferevent_settimeout()
384 bufferevent_setwatermark(struct bufferevent *bufev, short events, in bufferevent_setwatermark() argument
388 bufev->wm_read.low = lowmark; in bufferevent_setwatermark()
389 bufev->wm_read.high = highmark; in bufferevent_setwatermark()
393 bufev->wm_write.low = lowmark; in bufferevent_setwatermark()
394 bufev->wm_write.high = highmark; in bufferevent_setwatermark()
398 bufferevent_read_pressure_cb(bufev->input, in bufferevent_setwatermark()
399 0, EVBUFFER_LENGTH(bufev->input), bufev); in bufferevent_setwatermark()
403 bufferevent_base_set(struct event_base *base, struct bufferevent *bufev) in bufferevent_base_set() argument
407 res = event_base_set(base, &bufev->ev_read); in bufferevent_base_set()
411 res = event_base_set(base, &bufev->ev_write); in bufferevent_base_set()