Lines Matching refs:bufev

67 	struct bufferevent *bufev = arg;  in bufferevent_read_pressure_cb()  local
72 if (bufev->wm_read.high == 0 || now < bufev->wm_read.high) { in bufferevent_read_pressure_cb()
75 if (bufev->enabled & EV_READ) in bufferevent_read_pressure_cb()
76 bufferevent_add(&bufev->ev_read, bufev->timeout_read); in bufferevent_read_pressure_cb()
83 struct bufferevent *bufev = arg; in bufferevent_readcb() local
98 if (bufev->wm_read.high != 0) { in bufferevent_readcb()
99 howmuch = bufev->wm_read.high - EVBUFFER_LENGTH(bufev->input); in bufferevent_readcb()
102 struct evbuffer *buf = bufev->input; in bufferevent_readcb()
103 event_del(&bufev->ev_read); in bufferevent_readcb()
105 bufferevent_read_pressure_cb, bufev); in bufferevent_readcb()
110 res = evbuffer_read(bufev->input, fd, howmuch); in bufferevent_readcb()
124 bufferevent_add(&bufev->ev_read, bufev->timeout_read); in bufferevent_readcb()
127 len = EVBUFFER_LENGTH(bufev->input); in bufferevent_readcb()
128 if (bufev->wm_read.low != 0 && len < bufev->wm_read.low) in bufferevent_readcb()
130 if (bufev->wm_read.high != 0 && len >= bufev->wm_read.high) { in bufferevent_readcb()
131 struct evbuffer *buf = bufev->input; in bufferevent_readcb()
132 event_del(&bufev->ev_read); in bufferevent_readcb()
135 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()
180 if (EVBUFFER_LENGTH(bufev->output) != 0) in bufferevent_writecb()
181 bufferevent_add(&bufev->ev_write, bufev->timeout_write); in bufferevent_writecb()
187 if (bufev->writecb != NULL && in bufferevent_writecb()
188 EVBUFFER_LENGTH(bufev->output) <= bufev->wm_write.low) in bufferevent_writecb()
189 (*bufev->writecb)(bufev, bufev->cbarg); in bufferevent_writecb()
194 if (EVBUFFER_LENGTH(bufev->output) != 0) in bufferevent_writecb()
195 bufferevent_add(&bufev->ev_write, bufev->timeout_write); in bufferevent_writecb()
199 (*bufev->errorcb)(bufev, what, bufev->cbarg); in bufferevent_writecb()
217 struct bufferevent *bufev; in bufferevent_new() local
219 if ((bufev = calloc(1, sizeof(struct bufferevent))) == NULL) in bufferevent_new()
222 if ((bufev->input = evbuffer_new()) == NULL) { in bufferevent_new()
223 free(bufev); in bufferevent_new()
227 if ((bufev->output = evbuffer_new()) == NULL) { in bufferevent_new()
228 evbuffer_free(bufev->input); in bufferevent_new()
229 free(bufev); in bufferevent_new()
233 event_set(&bufev->ev_read, fd, EV_READ, bufferevent_readcb, bufev); in bufferevent_new()
234 event_set(&bufev->ev_write, fd, EV_WRITE, bufferevent_writecb, bufev); in bufferevent_new()
236 bufferevent_setcb(bufev, readcb, writecb, errorcb, cbarg); in bufferevent_new()
243 bufev->enabled = EV_WRITE; in bufferevent_new()
245 return (bufev); in bufferevent_new()
249 bufferevent_setcb(struct bufferevent *bufev, in bufferevent_setcb() argument
252 bufev->readcb = readcb; in bufferevent_setcb()
253 bufev->writecb = writecb; in bufferevent_setcb()
254 bufev->errorcb = errorcb; in bufferevent_setcb()
256 bufev->cbarg = cbarg; in bufferevent_setcb()
260 bufferevent_setfd(struct bufferevent *bufev, int fd) in bufferevent_setfd() argument
262 event_del(&bufev->ev_read); in bufferevent_setfd()
263 event_del(&bufev->ev_write); in bufferevent_setfd()
265 event_set(&bufev->ev_read, fd, EV_READ, bufferevent_readcb, bufev); in bufferevent_setfd()
266 event_set(&bufev->ev_write, fd, EV_WRITE, bufferevent_writecb, bufev); in bufferevent_setfd()
267 if (bufev->ev_base != NULL) { in bufferevent_setfd()
268 event_base_set(bufev->ev_base, &bufev->ev_read); in bufferevent_setfd()
269 event_base_set(bufev->ev_base, &bufev->ev_write); in bufferevent_setfd()
276 bufferevent_priority_set(struct bufferevent *bufev, int priority) in bufferevent_priority_set() argument
278 if (event_priority_set(&bufev->ev_read, priority) == -1) in bufferevent_priority_set()
280 if (event_priority_set(&bufev->ev_write, priority) == -1) in bufferevent_priority_set()
289 bufferevent_free(struct bufferevent *bufev) in bufferevent_free() argument
291 event_del(&bufev->ev_read); in bufferevent_free()
292 event_del(&bufev->ev_write); in bufferevent_free()
294 evbuffer_free(bufev->input); in bufferevent_free()
295 evbuffer_free(bufev->output); in bufferevent_free()
297 free(bufev); in bufferevent_free()
306 bufferevent_write(struct bufferevent *bufev, const void *data, size_t size) in bufferevent_write() argument
310 res = evbuffer_add(bufev->output, data, size); in bufferevent_write()
316 if (size > 0 && (bufev->enabled & EV_WRITE)) in bufferevent_write()
317 bufferevent_add(&bufev->ev_write, bufev->timeout_write); in bufferevent_write()
323 bufferevent_write_buffer(struct bufferevent *bufev, struct evbuffer *buf) in bufferevent_write_buffer() argument
327 res = bufferevent_write(bufev, buf->buffer, buf->off); in bufferevent_write_buffer()
335 bufferevent_read(struct bufferevent *bufev, void *data, size_t size) in bufferevent_read() argument
337 struct evbuffer *buf = bufev->input; in bufferevent_read()
352 bufferevent_enable(struct bufferevent *bufev, short event) in bufferevent_enable() argument
355 if (bufferevent_add(&bufev->ev_read, bufev->timeout_read) == -1) in bufferevent_enable()
359 if (bufferevent_add(&bufev->ev_write, bufev->timeout_write) == -1) in bufferevent_enable()
363 bufev->enabled |= event; in bufferevent_enable()
368 bufferevent_disable(struct bufferevent *bufev, short event) in bufferevent_disable() argument
371 if (event_del(&bufev->ev_read) == -1) in bufferevent_disable()
375 if (event_del(&bufev->ev_write) == -1) in bufferevent_disable()
379 bufev->enabled &= ~event; in bufferevent_disable()
388 bufferevent_settimeout(struct bufferevent *bufev, in bufferevent_settimeout() argument
390 bufev->timeout_read = timeout_read; in bufferevent_settimeout()
391 bufev->timeout_write = timeout_write; in bufferevent_settimeout()
393 if (event_pending(&bufev->ev_read, EV_READ, NULL)) in bufferevent_settimeout()
394 bufferevent_add(&bufev->ev_read, timeout_read); in bufferevent_settimeout()
395 if (event_pending(&bufev->ev_write, EV_WRITE, NULL)) in bufferevent_settimeout()
396 bufferevent_add(&bufev->ev_write, timeout_write); in bufferevent_settimeout()
404 bufferevent_setwatermark(struct bufferevent *bufev, short events, in bufferevent_setwatermark() argument
408 bufev->wm_read.low = lowmark; in bufferevent_setwatermark()
409 bufev->wm_read.high = highmark; in bufferevent_setwatermark()
413 bufev->wm_write.low = lowmark; in bufferevent_setwatermark()
414 bufev->wm_write.high = highmark; in bufferevent_setwatermark()
418 bufferevent_read_pressure_cb(bufev->input, in bufferevent_setwatermark()
419 0, EVBUFFER_LENGTH(bufev->input), bufev); in bufferevent_setwatermark()
423 bufferevent_base_set(struct event_base *base, struct bufferevent *bufev) in bufferevent_base_set() argument
427 bufev->ev_base = base; in bufferevent_base_set()
429 res = event_base_set(base, &bufev->ev_read); in bufferevent_base_set()
433 res = event_base_set(base, &bufev->ev_write); in bufferevent_base_set()