evbuffer-internal.h


Log

Author Commit Date CI Message
Nick Mathewson e865eb93 2009-05-01T00:54:14 More msvc build tweaks. svn:r1262
Nick Mathewson 838d0a81 2009-04-17T06:55:08 Document many internal functions and pieces of code. svn:r1181
Nick Mathewson 93d4f884 2009-04-14T20:11:10 Make buffer iocp stuff compile happily svn:r1174
Nick Mathewson 9f1a94ec 2009-04-13T03:06:47 add pin/unpin functions, and a deref-and-free pair. svn:r1165
Nick Mathewson dcda7915 2009-04-13T03:06:27 Add a reference count to evbuffers. svn:r1164
Nick Mathewson 829b52b6 2009-04-13T03:05:46 Refactor the code that sets up iovecs for reading into its own function. iocp needs this. svn:r1162
Nick Mathewson b29b875d 2009-04-10T20:43:08 Facility to make evbuffers get their callbacks deferred. svn:r1154
Nick Mathewson 747331d1 2009-04-08T03:04:39 Add freeze support to evbuffers. From the documentation: Prevent calls that modify an evbuffer from succeeding. A buffer may frozen at the front, at the back, or at both the front and the back. If the front of a buffer is frozen, operations that drain data from the front of the buffer, or that prepend data to the buffer, will fail until it is unfrozen. If the back a buffer is frozen, operations that append data from the buffer will fail until it is unfrozen. We'll use this to ensure correctness on an evbuffer when we're waiting for an overlapped IO call to finish. svn:r1143
Nick Mathewson d9086fc0 2009-04-08T03:03:59 Add a new facility to "pin" the memory in an evbuffer chain. For overlapped IO (and possibly other stuff) we need to be able to label an evbuffer_chain as "pinned", meaning that every byte in it must remain at the same address as it is now until it unpinned. This differs from being "immutable": it is okay to add data to the end of a pinned chain, so long as existing data is not moved. svn:r1142
Nick Mathewson 60e0d59b 2009-04-05T02:44:17 Add locking to evbuffers. svn:r1134
Nick Mathewson f1b1bad4 2009-04-03T14:27:03 Make the new evbuffer callbacks use a new struct-based interface. The old interface would fail pretty hard when we had to batch up multiple adds and drains in a single call. svn:r1131
Nick Mathewson 98b7046b 2009-02-10T19:38:43 A few more comments on evbuffer-internal structures. svn:r1106
Nick Mathewson 8d3a10f8 2009-02-01T01:43:58 Support temporarily suspending an evbuffer callback. This is different from disabling the callback, since we want to process changes, but not just yet. svn:r1091
Nick Mathewson b85b710c 2009-01-27T22:34:36 Update copyright statements to reflect the facts that: a) this is 2009 b) niels and nick have been comaintainers for a while c) saying "all rights reserved" when you then go on to explicitly disclaim some rights is sheer cargo-cultism. svn:r1065
Nick Mathewson 8889a770 2009-01-27T22:30:46 Replace all use of config.h with event-config.h. svn:r1064
Niels Provos fdf69493 2009-01-27T06:05:38 sendfile/mmap and memory reference implementation for evbuffers svn:r1057
Nick Mathewson 81dd04a7 2009-01-23T18:04:34 Add a "flags" field to evbuffer callbacks. For now, there is just one: enabled. This lets us avoid lots of mallocs/frees/tailq-manipulations just to turn a callback on and off. The revised bufferevent code wants this. svn:r1047
Nick Mathewson de7f7a84 2009-01-23T18:03:45 Remove in_callbacks check: allow full recursion in evbuffer callbacks. If you get yourself in an infinite loop, that's not our fault. Note this in the docs. Also reindent some docs now that my tabs match Niels's. svn:r1046
Nick Mathewson c735f2b4 2009-01-23T01:11:13 Code to allow multiple callbacks per evbuffer. svn:r1042
Nick Mathewson 6d3ed065 2009-01-14T14:58:48 Simplify evbuffer_write logic: combine nearly all of WSASend and writev cases. svn:r1004
Nick Mathewson 3ca22aa8 2008-05-15T03:05:10 r19739@catbus: nickm | 2008-05-14 23:05:03 -0400 Use our offsetof; do not rely on platform offsetof svn:r825
Niels Provos 193c06a7 2008-03-31T02:04:34 fix a bug in which evbuffer_add_vfprintf would loop forever; avoid fragmentation in evbuffer_expand by increasing the size of the last buffer in the chain; as a result with have to keep track of the previous_to_last chain; provide a evbuffer_validate() function in the regression test to make sure that all evbuffer are internally consistent. svn:r699
Nick Mathewson 0322ce0a 2008-02-28T18:36:03 r18486@catbus: nickm | 2008-02-28 13:35:53 -0500 Make offsetof into evutil_offsetof. Be a little more willing to call evbuffer_chain_align() from evbuffer_expand(). Clarify some docs, and add some XXX comments to note questionable areas. svn:r677
Niels Provos 5c70ea4c 2008-02-28T02:47:43 improved code for evbuffer; avoids memcpy svn:r674