• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/ntp/sntp/libevent/

Lines Matching defs:bufev

68 bufferevent_suspend_read_(struct bufferevent *bufev, bufferevent_suspend_flags what)
71 EVUTIL_UPCAST(bufev, struct bufferevent_private, bev);
72 BEV_LOCK(bufev);
74 bufev->be_ops->disable(bufev, EV_READ);
76 BEV_UNLOCK(bufev);
80 bufferevent_unsuspend_read_(struct bufferevent *bufev, bufferevent_suspend_flags what)
83 EVUTIL_UPCAST(bufev, struct bufferevent_private, bev);
84 BEV_LOCK(bufev);
86 if (!bufev_private->read_suspended && (bufev->enabled & EV_READ))
87 bufev->be_ops->enable(bufev, EV_READ);
88 BEV_UNLOCK(bufev);
92 bufferevent_suspend_write_(struct bufferevent *bufev, bufferevent_suspend_flags what)
95 EVUTIL_UPCAST(bufev, struct bufferevent_private, bev);
96 BEV_LOCK(bufev);
98 bufev->be_ops->disable(bufev, EV_WRITE);
100 BEV_UNLOCK(bufev);
104 bufferevent_unsuspend_write_(struct bufferevent *bufev, bufferevent_suspend_flags what)
107 EVUTIL_UPCAST(bufev, struct bufferevent_private, bev);
108 BEV_LOCK(bufev);
110 if (!bufev_private->write_suspended && (bufev->enabled & EV_WRITE))
111 bufev->be_ops->enable(bufev, EV_WRITE);
112 BEV_UNLOCK(bufev);
123 struct bufferevent *bufev = arg;
128 if (size >= bufev->wm_read.high)
129 bufferevent_wm_suspend_read(bufev);
131 bufferevent_wm_unsuspend_read(bufev);
138 struct bufferevent *bufev = &bufev_private->bev;
140 BEV_LOCK(bufev);
142 bufev->errorcb) {
146 bufev->errorcb(bufev, BEV_EVENT_CONNECTED, bufev->cbarg);
148 if (bufev_private->readcb_pending && bufev->readcb) {
150 bufev->readcb(bufev, bufev->cbarg);
152 if (bufev_private->writecb_pending && bufev->writecb) {
154 bufev->writecb(bufev, bufev->cbarg);
156 if (bufev_private->eventcb_pending && bufev->errorcb) {
162 bufev->errorcb(bufev, what, bufev->cbarg);
164 bufferevent_decref_and_unlock_(bufev);
171 struct bufferevent *bufev = &bufev_private->bev;
173 BEV_LOCK(bufev);
175 do { BEV_UNLOCK(bufev); stmt; BEV_LOCK(bufev); } while(0)
178 bufev->errorcb) {
181 bufferevent_event_cb errorcb = bufev->errorcb;
182 void *cbarg = bufev->cbarg;
184 UNLOCKED(errorcb(bufev, BEV_EVENT_CONNECTED, cbarg));
186 if (bufev_private->readcb_pending && bufev->readcb) {
187 bufferevent_data_cb readcb = bufev->readcb;
188 void *cbarg = bufev->cbarg;
190 UNLOCKED(readcb(bufev, cbarg));
192 if (bufev_private->writecb_pending && bufev->writecb) {
193 bufferevent_data_cb writecb = bufev->writecb;
194 void *cbarg = bufev->cbarg;
196 UNLOCKED(writecb(bufev, cbarg));
198 if (bufev_private->eventcb_pending && bufev->errorcb) {
199 bufferevent_event_cb errorcb = bufev->errorcb;
200 void *cbarg = bufev->cbarg;
206 UNLOCKED(errorcb(bufev,what,cbarg));
208 bufferevent_decref_and_unlock_(bufev);
222 bufferevent_run_readcb_(struct bufferevent *bufev, int options)
226 EVUTIL_UPCAST(bufev, struct bufferevent_private, bev);
227 if (bufev->readcb == NULL)
233 bufev->readcb(bufev, bufev->cbarg);
238 bufferevent_run_writecb_(struct bufferevent *bufev, int options)
242 EVUTIL_UPCAST(bufev, struct bufferevent_private, bev);
243 if (bufev->writecb == NULL)
249 bufev->writecb(bufev, bufev->cbarg);
259 bufferevent_trigger(struct bufferevent *bufev, short iotype, int options)
261 bufferevent_incref_and_lock_(bufev);
262 bufferevent_trigger_nolock_(bufev, iotype, options&BEV_TRIG_ALL_OPTS);
263 bufferevent_decref_and_unlock_(bufev);
267 bufferevent_run_eventcb_(struct bufferevent *bufev, short what, int options)
271 EVUTIL_UPCAST(bufev, struct bufferevent_private, bev);
272 if (bufev->errorcb == NULL)
279 bufev->errorcb(bufev, what, bufev->cbarg);
284 bufferevent_trigger_event(struct bufferevent *bufev, short what, int options)
286 bufferevent_incref_and_lock_(bufev);
287 bufferevent_run_eventcb_(bufev, what, options&BEV_TRIG_ALL_OPTS);
288 bufferevent_decref_and_unlock_(bufev);
297 struct bufferevent *bufev = &bufev_private->bev;
299 if (!bufev->input) {
300 if ((bufev->input = evbuffer_new()) == NULL)
304 if (!bufev->output) {
305 if ((bufev->output = evbuffer_new()) == NULL) {
306 evbuffer_free(bufev->input);
312 bufev->ev_base = base;
315 evutil_timerclear(&bufev->timeout_read);
316 evutil_timerclear(&bufev->timeout_write);
318 bufev->be_ops = ops;
327 bufev->enabled = EV_WRITE;
331 if (bufferevent_enable_locking_(bufev, NULL) < 0) {
333 evbuffer_free(bufev->input);
334 evbuffer_free(bufev->output);
335 bufev->input = NULL;
336 bufev->output = NULL;
361 evbuffer_set_parent_(bufev->input, bufev);
362 evbuffer_set_parent_(bufev->output, bufev);
368 bufferevent_setcb(struct bufferevent *bufev,
372 BEV_LOCK(bufev);
374 bufev->readcb = readcb;
375 bufev->writecb = writecb;
376 bufev->errorcb = eventcb;
378 bufev->cbarg = cbarg;
379 BEV_UNLOCK(bufev);
383 bufferevent_getcb(struct bufferevent *bufev,
389 BEV_LOCK(bufev);
391 *readcb_ptr = bufev->readcb;
393 *writecb_ptr = bufev->writecb;
395 *eventcb_ptr = bufev->errorcb;
397 *cbarg_ptr = bufev->cbarg;
399 BEV_UNLOCK(bufev);
403 bufferevent_get_input(struct bufferevent *bufev)
405 return bufev->input;
409 bufferevent_get_output(struct bufferevent *bufev)
411 return bufev->output;
415 bufferevent_get_base(struct bufferevent *bufev)
417 return bufev->ev_base;
421 bufferevent_get_priority(const struct bufferevent *bufev)
423 if (event_initialized(&bufev->ev_read)) {
424 return event_get_priority(&bufev->ev_read);
426 return event_base_get_npriorities(bufev->ev_base) / 2;
431 bufferevent_write(struct bufferevent *bufev, const void *data, size_t size)
433 if (evbuffer_add(bufev->output, data, size) == -1)
440 bufferevent_write_buffer(struct bufferevent *bufev, struct evbuffer *buf)
442 if (evbuffer_add_buffer(bufev->output, buf) == -1)
449 bufferevent_read(struct bufferevent *bufev, void *data, size_t size)
451 return (evbuffer_remove(bufev->input, data, size));
455 bufferevent_read_buffer(struct bufferevent *bufev, struct evbuffer *buf)
457 return (evbuffer_add_buffer(buf, bufev->input));
461 bufferevent_enable(struct bufferevent *bufev, short event)
464 EVUTIL_UPCAST(bufev, struct bufferevent_private, bev);
468 bufferevent_incref_and_lock_(bufev);
474 bufev->enabled |= event;
476 if (impl_events && bufev->be_ops->enable(bufev, impl_events) < 0)
479 bufferevent_decref_and_unlock_(bufev);
484 bufferevent_set_timeouts(struct bufferevent *bufev,
489 BEV_LOCK(bufev);
491 bufev->timeout_read = *tv_read;
493 evutil_timerclear(&bufev->timeout_read);
496 bufev->timeout_write = *tv_write;
498 evutil_timerclear(&bufev->timeout_write);
501 if (bufev->be_ops->adj_timeouts)
502 r = bufev->be_ops->adj_timeouts(bufev);
503 BEV_UNLOCK(bufev);
511 bufferevent_settimeout(struct bufferevent *bufev,
529 bufferevent_set_timeouts(bufev, ptv_read, ptv_write);
534 bufferevent_disable_hard_(struct bufferevent *bufev, short event)
538 EVUTIL_UPCAST(bufev, struct bufferevent_private, bev);
540 BEV_LOCK(bufev);
541 bufev->enabled &= ~event;
544 if (bufev->be_ops->disable(bufev, event) < 0)
547 BEV_UNLOCK(bufev);
552 bufferevent_disable(struct bufferevent *bufev, short event)
556 BEV_LOCK(bufev);
557 bufev->enabled &= ~event;
559 if (bufev->be_ops->disable(bufev, event) < 0)
562 BEV_UNLOCK(bufev);
571 bufferevent_setwatermark(struct bufferevent *bufev, short events,
575 EVUTIL_UPCAST(bufev, struct bufferevent_private, bev);
577 BEV_LOCK(bufev);
579 bufev->wm_write.low = lowmark;
580 bufev->wm_write.high = highmark;
584 bufev->wm_read.low = lowmark;
585 bufev->wm_read.high = highmark;
594 evbuffer_add_cb(bufev->input,
596 bufev);
598 evbuffer_cb_set_flags(bufev->input,
602 if (evbuffer_get_length(bufev->input) >= highmark)
603 bufferevent_wm_suspend_read(bufev);
604 else if (evbuffer_get_length(bufev->input) < highmark)
605 bufferevent_wm_unsuspend_read(bufev);
609 evbuffer_cb_clear_flags(bufev->input,
612 bufferevent_wm_unsuspend_read(bufev);
615 BEV_UNLOCK(bufev);
619 bufferevent_getwatermark(struct bufferevent *bufev, short events,
623 BEV_LOCK(bufev);
625 *lowmark = bufev->wm_write.low;
627 *highmark = bufev->wm_write.high;
628 BEV_UNLOCK(bufev);
633 BEV_LOCK(bufev);
635 *lowmark = bufev->wm_read.low;
637 *highmark = bufev->wm_read.high;
638 BEV_UNLOCK(bufev);
645 bufferevent_flush(struct bufferevent *bufev,
650 BEV_LOCK(bufev);
651 if (bufev->be_ops->flush)
652 r = bufev->be_ops->flush(bufev, iotype, mode);
653 BEV_UNLOCK(bufev);
658 bufferevent_incref_and_lock_(struct bufferevent *bufev)
661 BEV_UPCAST(bufev);
662 BEV_LOCK(bufev);
685 bufferevent_decref_and_unlock_(struct bufferevent *bufev)
688 EVUTIL_UPCAST(bufev, struct bufferevent_private, bev);
696 BEV_UNLOCK(bufev);
700 if (bufev->be_ops->unlink)
701 bufev->be_ops->unlink(bufev);
705 cbs[0] = &bufev->ev_read.ev_evcallback;
706 cbs[1] = &bufev->ev_write.ev_evcallback;
714 n_cbs += evbuffer_get_callbacks_(bufev->input, cbs+n_cbs, MAX_CBS-n_cbs);
715 n_cbs += evbuffer_get_callbacks_(bufev->output, cbs+n_cbs, MAX_CBS-n_cbs);
717 event_callback_finalize_many_(bufev->ev_base, n_cbs, cbs,
721 BEV_UNLOCK(bufev);
729 struct bufferevent *bufev = arg_;
732 EVUTIL_UPCAST(bufev, struct bufferevent_private, bev);
734 BEV_LOCK(bufev);
735 underlying = bufferevent_get_underlying(bufev);
738 if (bufev->be_ops->destruct)
739 bufev->be_ops->destruct(bufev);
745 evbuffer_free(bufev->input);
746 evbuffer_free(bufev->output);
750 bufferevent_remove_from_rate_limit_group_internal_(bufev,0);
756 BEV_UNLOCK(bufev);
763 mm_free(((char*)bufev) - bufev->be_ops->mem_offset);
780 bufferevent_decref_(struct bufferevent *bufev)
782 BEV_LOCK(bufev);
783 return bufferevent_decref_and_unlock_(bufev);
787 bufferevent_free(struct bufferevent *bufev)
789 BEV_LOCK(bufev);
790 bufferevent_setcb(bufev, NULL, NULL, NULL, NULL);
791 bufferevent_cancel_all_(bufev);
792 bufferevent_decref_and_unlock_(bufev);
796 bufferevent_incref_(struct bufferevent *bufev)
799 EVUTIL_UPCAST(bufev, struct bufferevent_private, bev);
801 BEV_LOCK(bufev);
803 BEV_UNLOCK(bufev);
807 bufferevent_enable_locking_(struct bufferevent *bufev, void *lock)
814 if (BEV_UPCAST(bufev)->lock)
816 underlying = bufferevent_get_underlying(bufev);
820 BEV_UPCAST(bufev)->lock = lock;
821 BEV_UPCAST(bufev)->own_lock = 0;
826 BEV_UPCAST(bufev)->lock = lock;
827 BEV_UPCAST(bufev)->own_lock = 1;
829 BEV_UPCAST(bufev)->lock = lock;
830 BEV_UPCAST(bufev)->own_lock = 0;
832 evbuffer_enable_locking(bufev->input, lock);
833 evbuffer_enable_locking(bufev->output, lock);
894 bufferevent_get_enabled(struct bufferevent *bufev)
897 BEV_LOCK(bufev);
898 r = bufev->enabled;
899 BEV_UNLOCK(bufev);