Functions:
toc levels=1
Read/Write/Error Callback:
- Input:
(bufferevent, what)bufferevent- Reference to the bufferevent that raised the callbackwhat- What happened:- ==
EVBUFFER_READ- Buffer contains at least low-watermark length and no more than high-watermark length - ==
EVBUFFER_WRITE- Buffer ready to write to - (other) - Error condition
- May be or-ed/added with
EVBUFFER_READ/EVBUFFER_WRITEto specify where it happened EVBUFFER_ERROR- Marks error condition (need to look at 'errno' for error.. not exposed yet)EVBUFFER_TIMEOUT- Marks activity timeoutEVBUFFER_EOF- Marks disconnection/end-of-file condition
- May be or-ed/added with
- ==
bufferevent.new
- Input:
(fd, read, write, error)fd- File descriptor to watchread- (may be nil) - callback to call when data in buffer is above the low watermarkwrite- (may be nil) - callback to call when the output buffer contains less data than the low watermarkerror- callback to call when there is an erroneous condition
bufferevent (__gc)
- Releases the bufferevent
- Disconnects event buffers since they were owned by the bufferevent object in 'C' land
- Disconnects all references so that any erroneous callbacks don't cause failures
bufferevent:get_read
- Obtains the input buffer associated w/ the bufferevent
bufferevent:get_write
- Obtains the output buffer associated w/ the bufferevent
bufferevent:set_read_watermarks
- Input:
(low, high)low- Size of buffer at which an event would be firedhigh- Maximum size of buffer to read to
bufferevent:set_write_watermarks
- Input:
(low, high)low- When buffer is below this, the event will be firedhigh- N/A to libevent, user app may use this
bufferevent:set_timeouts
- Sets timeouts for the bufferevent's events
- Input:
(read, write)read- Read readiness timeoutwrite- Write readiness timeout
bufferevent:enable/disable
- Input:
event flagevent flag-EV_READ,EV_WRITE, orEV_READ|EV_WRITE
- Enables/Disables events from being triggered in the next round (some events may get triggered after disable is called)