Lines Matching refs:bufev

81 	struct bufferevent *bufev = arg;  in bufferevent_read_pressure_cb()  local
86 if (bufev->wm_read.high == 0 || now < bufev->wm_read.high) { in bufferevent_read_pressure_cb()
89 if (bufev->enabled & EV_READ) in bufferevent_read_pressure_cb()
90 bufferevent_add(&bufev->ev_read, bufev->timeout_read); in bufferevent_read_pressure_cb()
97 struct bufferevent *bufev = arg; in bufferevent_readcb() local
112 if (bufev->wm_read.high != 0) { in bufferevent_readcb()
113 howmuch = bufev->wm_read.high - EVBUFFER_LENGTH(bufev->input); in bufferevent_readcb()
116 struct evbuffer *buf = bufev->input; in bufferevent_readcb()
117 event_del(&bufev->ev_read); in bufferevent_readcb()
119 bufferevent_read_pressure_cb, bufev); in bufferevent_readcb()
124 res = evbuffer_read(bufev->input, fd, howmuch); in bufferevent_readcb()
138 bufferevent_add(&bufev->ev_read, bufev->timeout_read); in bufferevent_readcb()
141 len = EVBUFFER_LENGTH(bufev->input); in bufferevent_readcb()
142 if (bufev->wm_read.low != 0 && len < bufev->wm_read.low) in bufferevent_readcb()
144 if (bufev->wm_read.high != 0 && len >= bufev->wm_read.high) { in bufferevent_readcb()
145 struct evbuffer *buf = bufev->input; in bufferevent_readcb()
146 event_del(&bufev->ev_read); in bufferevent_readcb()
149 evbuffer_setcb(buf, bufferevent_read_pressure_cb, bufev); in bufferevent_readcb()
153 if (bufev->readcb != NULL) in bufferevent_readcb()
154 (*bufev->readcb)(bufev, bufev->cbarg); in bufferevent_readcb()
158 bufferevent_add(&bufev->ev_read, bufev->timeout_read); in bufferevent_readcb()
162 (*bufev->errorcb)(bufev, what, bufev->cbarg); in bufferevent_readcb()
168 struct bufferevent *bufev = arg; in bufferevent_writecb() local
177 if (EVBUFFER_LENGTH(bufev->output)) { in bufferevent_writecb()
178 res = evbuffer_write(bufev->output, fd); 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()
209 if (bufev->writecb != NULL && in bufferevent_writecb()
210 EVBUFFER_LENGTH(bufev->output) <= bufev->wm_write.low) in bufferevent_writecb()
211 (*bufev->writecb)(bufev, bufev->cbarg); in bufferevent_writecb()
216 if (EVBUFFER_LENGTH(bufev->output) != 0) in bufferevent_writecb()
217 bufferevent_add(&bufev->ev_write, bufev->timeout_write); in bufferevent_writecb()
221 (*bufev->errorcb)(bufev, what, bufev->cbarg); in bufferevent_writecb()
239 struct bufferevent *bufev; in bufferevent_new() local
241 if ((bufev = calloc(1, sizeof(struct bufferevent))) == NULL) in bufferevent_new()
244 if ((bufev->input = evbuffer_new()) == NULL) { in bufferevent_new()
245 free(bufev); in bufferevent_new()
249 if ((bufev->output = evbuffer_new()) == NULL) { in bufferevent_new()
250 evbuffer_free(bufev->input); in bufferevent_new()
251 free(bufev); in bufferevent_new()
255 event_set(&bufev->ev_read, fd, EV_READ, bufferevent_readcb, bufev); in bufferevent_new()
256 event_set(&bufev->ev_write, fd, EV_WRITE, bufferevent_writecb, bufev); in bufferevent_new()
258 bufferevent_setcb(bufev, readcb, writecb, errorcb, cbarg); in bufferevent_new()
265 bufev->enabled = EV_WRITE; in bufferevent_new()
267 return (bufev); in bufferevent_new()
271 bufferevent_setcb(struct bufferevent *bufev, in bufferevent_setcb() argument
274 bufev->readcb = readcb; in bufferevent_setcb()
275 bufev->writecb = writecb; in bufferevent_setcb()
276 bufev->errorcb = errorcb; in bufferevent_setcb()
278 bufev->cbarg = cbarg; in bufferevent_setcb()
282 bufferevent_setfd(struct bufferevent *bufev, int fd) in bufferevent_setfd() argument
284 event_del(&bufev->ev_read); in bufferevent_setfd()
285 event_del(&bufev->ev_write); in bufferevent_setfd()
287 event_set(&bufev->ev_read, fd, EV_READ, bufferevent_readcb, bufev); in bufferevent_setfd()
288 event_set(&bufev->ev_write, fd, EV_WRITE, bufferevent_writecb, bufev); in bufferevent_setfd()
289 if (bufev->ev_base != NULL) { in bufferevent_setfd()
290 event_base_set(bufev->ev_base, &bufev->ev_read); in bufferevent_setfd()
291 event_base_set(bufev->ev_base, &bufev->ev_write); in bufferevent_setfd()
298 bufferevent_priority_set(struct bufferevent *bufev, int priority) in bufferevent_priority_set() argument
300 if (event_priority_set(&bufev->ev_read, priority) == -1) in bufferevent_priority_set()
302 if (event_priority_set(&bufev->ev_write, priority) == -1) in bufferevent_priority_set()
311 bufferevent_free(struct bufferevent *bufev) in bufferevent_free() argument
313 event_del(&bufev->ev_read); in bufferevent_free()
314 event_del(&bufev->ev_write); in bufferevent_free()
316 evbuffer_free(bufev->input); in bufferevent_free()
317 evbuffer_free(bufev->output); in bufferevent_free()
319 free(bufev); in bufferevent_free()
328 bufferevent_write(struct bufferevent *bufev, const void *data, size_t size) in bufferevent_write() argument
332 res = evbuffer_add(bufev->output, data, size); in bufferevent_write()
338 if (size > 0 && (bufev->enabled & EV_WRITE)) in bufferevent_write()
339 bufferevent_add(&bufev->ev_write, bufev->timeout_write); in bufferevent_write()
345 bufferevent_write_buffer(struct bufferevent *bufev, struct evbuffer *buf) in bufferevent_write_buffer() argument
349 res = bufferevent_write(bufev, buf->buffer, buf->off); in bufferevent_write_buffer()
357 bufferevent_read(struct bufferevent *bufev, void *data, size_t size) in bufferevent_read() argument
359 struct evbuffer *buf = bufev->input; in bufferevent_read()
374 bufferevent_enable(struct bufferevent *bufev, short event) in bufferevent_enable() argument
377 if (bufferevent_add(&bufev->ev_read, bufev->timeout_read) == -1) in bufferevent_enable()
381 if (bufferevent_add(&bufev->ev_write, bufev->timeout_write) == -1) in bufferevent_enable()
385 bufev->enabled |= event; in bufferevent_enable()
390 bufferevent_disable(struct bufferevent *bufev, short event) in bufferevent_disable() argument
393 if (event_del(&bufev->ev_read) == -1) in bufferevent_disable()
397 if (event_del(&bufev->ev_write) == -1) in bufferevent_disable()
401 bufev->enabled &= ~event; in bufferevent_disable()
410 bufferevent_settimeout(struct bufferevent *bufev, in bufferevent_settimeout() argument
412 bufev->timeout_read = timeout_read; in bufferevent_settimeout()
413 bufev->timeout_write = timeout_write; in bufferevent_settimeout()
415 if (event_pending(&bufev->ev_read, EV_READ, NULL)) in bufferevent_settimeout()
416 bufferevent_add(&bufev->ev_read, timeout_read); in bufferevent_settimeout()
417 if (event_pending(&bufev->ev_write, EV_WRITE, NULL)) in bufferevent_settimeout()
418 bufferevent_add(&bufev->ev_write, timeout_write); in bufferevent_settimeout()
426 bufferevent_setwatermark(struct bufferevent *bufev, short events, in bufferevent_setwatermark() argument
430 bufev->wm_read.low = lowmark; in bufferevent_setwatermark()
431 bufev->wm_read.high = highmark; in bufferevent_setwatermark()
435 bufev->wm_write.low = lowmark; in bufferevent_setwatermark()
436 bufev->wm_write.high = highmark; in bufferevent_setwatermark()
440 bufferevent_read_pressure_cb(bufev->input, in bufferevent_setwatermark()
441 0, EVBUFFER_LENGTH(bufev->input), bufev); in bufferevent_setwatermark()
445 bufferevent_base_set(struct event_base *base, struct bufferevent *bufev) in bufferevent_base_set() argument
449 bufev->ev_base = base; in bufferevent_base_set()
451 res = event_base_set(base, &bufev->ev_read); in bufferevent_base_set()
455 res = event_base_set(base, &bufev->ev_write); in bufferevent_base_set()