X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=libevent%2Fbufferevent-internal.h;h=71711a36497e7fc396e5d17553d20ee6ebf28d51;hb=75cceac7017a24e33d65f917155ad0d8b15ef178;hp=9d84e739e710ddc724ec6e2e4d2bc798fdc26cab;hpb=dd07aea71f86aa97f05db188c49e0a3c035ee41c;p=netatalk.git diff --git a/libevent/bufferevent-internal.h b/libevent/bufferevent-internal.h index 9d84e739..71711a36 100644 --- a/libevent/bufferevent-internal.h +++ b/libevent/bufferevent-internal.h @@ -36,6 +36,7 @@ extern "C" { #include "evthread-internal.h" #include "event2/thread.h" #include "ratelim-internal.h" +#include "event2/bufferevent_struct.h" /* These flags are reasons that we might be declining to actually enable reading or writing on a bufferevent. @@ -287,6 +288,20 @@ void bufferevent_unsuspend_write(struct bufferevent *bufev, bufferevent_suspend_ #define bufferevent_wm_unsuspend_read(b) \ bufferevent_unsuspend_read((b), BEV_SUSPEND_WM) +/* + Disable a bufferevent. Equivalent to bufferevent_disable(), but + first resets 'connecting' flag to force EV_WRITE down for sure. + + XXXX this method will go away in the future; try not to add new users. + See comment in evhttp_connection_reset() for discussion. + + @param bufev the bufferevent to be disabled + @param event any combination of EV_READ | EV_WRITE. + @return 0 if successful, or -1 if an error occurred + @see bufferevent_disable() + */ +int bufferevent_disable_hard(struct bufferevent *bufev, short event); + /** Internal: Set up locking on a bufferevent. If lock is set, use it. * Otherwise, use a new lock. */ int bufferevent_enable_locking(struct bufferevent *bufev, void *lock);