ok nicm



On Sat, Sep 22, 2018 at 10:15:21AM +0200, Anton Lindqvist wrote:
> On Fri, Sep 21, 2018 at 06:36:54PM -0700, Geoff Hill wrote:
> > Hello tech,
> > 
> > I noticed the event(3) manual pages don't mention the
> > bufferevent_setwatermark(3) function and glosses over the details of
> > watermarks, even though there's a few programs in userland that set both
> > read and write watermarks. Looks like there was an effort in 2017
> > to add some documentation but it stalled.
> > 
> > Here's a patch that adds the function synopsis and a brief description
> > of how watermarks work separately for read and write. Mostly copied from
> > the function declaration comments in event.h.
> > 
> > ok?
> 
> Few nits below, otherwise it looks good. Anyone else willing to ok?
> 
> > 
> > Geoff Hill
> > 
> > 
> > Index: event.3
> > ===================================================================
> > RCS file: /cvs/src/lib/libevent/event.3,v
> > retrieving revision 1.54
> > diff -u -p -u -r1.54 event.3
> > --- event.3 26 Jul 2018 12:50:04 -0000      1.54
> > +++ event.3 22 Sep 2018 01:26:56 -0000
> > @@ -68,6 +68,7 @@
> >  .Nm bufferevent_enable ,
> >  .Nm bufferevent_disable ,
> >  .Nm bufferevent_settimeout ,
> > +.Nm bufferevent_setwatermark ,
> >  .Nm EVBUFFER_INPUT ,
> >  .Nm EVBUFFER_OUTPUT
> >  .Nd execute a function when a specific event occurs
> > @@ -156,6 +157,8 @@
> >  .Fn "bufferevent_disable" "struct bufferevent *bufev" "short event"
> >  .Ft void
> >  .Fn "bufferevent_settimeout" "struct bufferevent *bufev" "int 
> > timeout_read" "int timeout_write"
> > +.Ft void
> > +.Fn "bufferevent_setwatermark" "struct bufferevent *bufev" "short events" 
> > "size_t lowmark" "size_t highmark"
> >  .Ft "struct evbuffer *"
> >  .Fn "EVBUFFER_INPUT" "struct bufferevent *bufev"
> >  .Ft "struct evbuffer *"
> > @@ -492,10 +495,35 @@ and
> >  When read enabled the bufferevent will try to read from the file
> >  descriptor and call the read callback.
> >  The write callback is executed
> > -whenever the output buffer is drained below the write low watermark,
> > +whenever the output buffer is drained below the write
> > +.Fa "lowmark" ,
> >  which is
> >  .Va 0
> >  by default.
> > +.Pp
> > +The
> > +.Fn bufferevent_setwatermark
> > +function can set the the low and high watermarks
> 
> One `the' is enough.
> 
> > +for read and write events.
> > +.Fa "events"
> > +can be
> > +.Va EV_READ ,
> > +.Va EV_WRITE
> > +or both.
> > +When used with
> > +.Va EV_READ ,
> > +a bufferevent does not invoke the user read callback
> > +unless there is at least
> > +.Fa "lowmark"
> > +data in the buffer.
> > +If the read buffer is beyond
> > +.Fa "highmark" ,
> > +the bufferevent stops reading from the file descriptor.
> > +When used with
> > +.Va EV_WRITE,
> 
> Missing space between EV_WRITE and comma.
> 
> > +the user write callback is invoked whenever the buffered data
> > +falls below
> > +.Fa "lowmark" .
> >  .Pp
> >  The
> >  .Fn bufferevent_write

Reply via email to