]> granicus.if.org Git - libevent/commitdiff
provide bufferevent_input and bufferevent_output without requiring knowledge of the...
authorNiels Provos <provos@gmail.com>
Sun, 27 Apr 2008 00:32:10 +0000 (00:32 +0000)
committerNiels Provos <provos@gmail.com>
Sun, 27 Apr 2008 00:32:10 +0000 (00:32 +0000)
svn:r734

ChangeLog
evbuffer.c
include/event2/bufferevent.h

index ac99ef3479777189f2e23234fab6aa00ef96b4ee..f5f2dfe837cd577276c485762856f4039e160ba2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -74,7 +74,8 @@ Changes in current version:
  o expose bufferevent_setwatermark via header files and fix high watermark on read
  o fix a bug in buffrevent read water marks and add a test for them
  o fix a bug in which bufferevent_write_buffer would not schedule a write event
-
+ o provide bufferevent_input and bufferevent_output without requiring knowledge of the structure
+       
 Changes in 1.4.0:
  o allow \r or \n individually to separate HTTP headers instead of the standard "\r\n"; from Charles Kerr.
  o demote most http warnings to debug messages
index f5667bd21c0551b69920661dd42ba4d62ca06399..ca86ae39e28bd9ba43f0526a6ac3beea64fcecb0 100644 (file)
@@ -273,6 +273,18 @@ bufferevent_new(evutil_socket_t fd, evbuffercb readcb, evbuffercb writecb,
        return (bufev);
 }
 
+struct evbuffer *
+bufferevent_input(struct bufferevent *bufev)
+{
+       return (bufev->input);
+}
+
+struct evbuffer *
+bufferevent_output(struct bufferevent *bufev)
+{
+       return (bufev->output);
+}
+
 int
 bufferevent_priority_set(struct bufferevent *bufev, int priority)
 {
index 2377ca354a46b3f6794303749bf296524851bc5a..f607d48412ba874d74e71fb7451812b968edd586 100644 (file)
@@ -191,6 +191,24 @@ size_t bufferevent_read(struct bufferevent *bufev, void *data, size_t size);
  */
 int bufferevent_read_buffer(struct bufferevent *bufev, struct evbuffer *buf);
 
+/**
+   Returns the input buffer.
+
+   @param bufev the buffervent from which to get the evbuffer
+   @return the evbuffer object for the input buffer
+ */
+
+struct evbuffer *bufferevent_input(struct bufferevent *bufev);
+
+/**
+   Returns the outut buffer.
+
+   @param bufev the buffervent from which to get the evbuffer
+   @return the evbuffer object for the output buffer
+ */
+
+struct evbuffer *bufferevent_output(struct bufferevent *bufev);
+
 /**
   Enable a bufferevent.
 
@@ -242,8 +260,8 @@ void bufferevent_settimeout(struct bufferevent *bufev,
 void bufferevent_setwatermark(struct bufferevent *bufev, short events,
     size_t lowmark, size_t highmark);
 
-#define EVBUFFER_INPUT(x)      (x)->input
-#define EVBUFFER_OUTPUT(x)     (x)->output
+#define EVBUFFER_INPUT(x)      bufferevent_input(x)
+#define EVBUFFER_OUTPUT(x)     bufferevent_output(x)
 
 
 #ifdef __cplusplus