Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(33)

Unified Diff: third_party/libevent/whatsnew-14.txt

Issue 1531573008: move libevent into base (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix shim path Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/libevent/test/test-weof.c ('k') | tools/checklicenses/checklicenses.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/libevent/whatsnew-14.txt
diff --git a/third_party/libevent/whatsnew-14.txt b/third_party/libevent/whatsnew-14.txt
deleted file mode 100644
index 769dda7819494da09f947bee44c2655fa4e67499..0000000000000000000000000000000000000000
--- a/third_party/libevent/whatsnew-14.txt
+++ /dev/null
@@ -1,167 +0,0 @@
-What's New In Libevent 1.4:
-
-0. About this document
-
- This document describes the key differences between Libevent 1.3 and
- Libevent 1.4, from a user's point of view. It was most recently
- updated based on features from libevent 1.4.2-rc.
-
-1. Packaging Issues.
-
-1.1. The great library division.
-
- The libevent source now builds two libraries: libevent_core and
- libevent_extra. The libevent_core library includes event loops,
- timers, buffer code, and various small compatibility functions. The
- libevent_extra library includes code for HTTP, DNS, RPC, and so on.
- Thus, if you're writing software that only uses libevent's event
- loop, you should link against only the libevent_core library,
- whereas if you're writing software that uses libevent's protocol
- support as well, you need to link libevent_extra as well.
-
- For backward compatibility, libevent also builds a library called
- "libevent" that includes everything.
-
-1.2. The event-config.h header
-
- Libevent configure script now builds two headers from its configure
- script: config.h (which it uses internally) and event-config.h
- (which it installs as a header file). All of the macros in
- event-config.h are modified so that they're safe to include in other
- projects. This allows libevent's header files (like event.h and
- evutil.h) information about platform configuration.
-
- What does this mean for you? As of 1.4.x, it should never be
- necessary to include extra files or define extra types before you
- include event.h (or any other libevent header); event.h can now look
- at the information in event-config.h and figure out what it needs to
- include.
-
-1.3. Documentation
-
- Libevent now includes better doxygen documentation. It's not
- perfect or complete, though; if you find a mistake, please let us
- know.
-
-1.4. Libtool usage
-
- We now use libtool's library versioning support correctly. If we
- don't mess this up, it means that binaries linked against old
- version of libevent should continue working when we make changes to
- libevent that don't break backward compatibility.
-
-1.5. Portability
-
- Libevent now builds with MSVC again. We've only tested it with MSVC
- 2005, and the project files might not be right. Please let us know
- if you run into any issues.
-
- Libevent now builds on platforms where /bin/sh is not bash.
-
- Libevent's regression test no longer requires Python to be
- installed.
-
-2. New and Improved APIs:
-
- (This list includes functions that are new, functions whose behavior
- has changed, and functions that were included in previous releases
- but which never actually worked before.)
-
-2.1. Utility functions are defined in evutil.h
-
- Libevent now exposes a small set of functions for cross-platform
- network programming in evutil.h, on the theory that they've been
- useful enough to us that other people may likely want to use them
- too. These are mainly workarounds for Windows issues for now: they
- include evutil_socketpair (to fake socketpair on platforms that
- don't have it) and evutil_make_socket_nonblocking (to make a socket
- nonblocking in a cross-platform way. See the header for more
- information.
-
-2.2. In the libevent core.
-
- The event_base_free() function now works. Previously, it would
- crash with an assertion failure if there were events pending on a
- base. Now, it simply deletes all the pending events and frees the
- base. Be careful -- this might leak fds and memory associated with
- the old events. To avoid leaks, you should still remove all the
- events and free their resources before you delete the base.
-
- Libevent should now work properly with fork(). Just call
- event_reinit() on your event base after the fork call, and it should
- work okay. Please let us know about any bugs you find.
-
- There's a new event_base_new() function that acts just like
- event_init(), but does not replace the default base. If you are
- using multiple event bases in your code, you should just use
- event_base_new() instead of event_init(), to avoid accidental bugs.
-
- There's new event_loopbreak() function to make a current event loop
- stop exiting and return. Unlike event_loopexit, it stops subsequent
- pending events from getting executed. This behavior is useful for
- scripting languages to implement exceptions from inside callbacks.
-
- There's a new event_base_get_method() function, for use in place of
- event_get_method() in multi-base applications.
-
-2.3. New in HTTP.
-
- There's an evhttp_connection_set_local_address() function you can
- use to set the local address of an HTTP connection.
-
- HTTP/1.1 chunking now correctly ends chunks with '\r\n'.
-
-2.4. New in DNS
-
- Instead of picking your method for generating DNS transaction IDs at
- startup, you can use evdns_set_transaction_id() to provide a
- transaction ID function at runtime.
-
- The "class" field in evdns_server_request is now renamed to
- dns_question_class, so that it won't break compilation under C++.
- This uses some preprocessor hacks so that C code using the old name
- won't break. Eventually, the old name will be deprecated entirely;
- please don't use it.
-
-2.5. New in RPC
-
- There are now hooks on RPC input and output; can be used to
- implement RPC independent processing such as compression or
- authentication.
-
- RPC tags can now be up to 32 bits. This is wire-compatible, but
- changes some of the types in the APIs. Please let us know if this
- is problematic for you.
-
-3. Big bugfixes
-
- We've done a lot, with help from users on different platforms, to
- make the different backends behave more similarly with respect to
- signals and timeouts. The kqueue and solaris backends were the big
- offenders previously, but they should be better now. Windows should
- be better too, though it's likely that problems remain there.
-
- The libevent headers (though not the source files!) should now build
- cleanly on C++.
-
- (For more bugfixes, see the ChangeLog file. These are only the
- biggies.)
-
-4. Big performance improvements
-
- Libevent now uses a min-heap rather than a red-black tree to track
- timeouts. This means that finding the next timeout to fire is now
- O(1) instead of (lg n).
-
- The win32 select-based backend now uses a red-black tree to map
- SOCKET handles to event structures. This changes the performance
- characteristics of the event loop on win32 from O(n^2) to O(n lg n).
- Not perfect, but better.
-
-5. Removed code and features
-
- The rtsig backend is now removed. It hasn't even compiled for a
- while, and nobody seemed to miss it very much. All the platforms
- that have rtsig seem to have a better option instead these days.
- Please let us know if rtsig was crucial for you.
-
« no previous file with comments | « third_party/libevent/test/test-weof.c ('k') | tools/checklicenses/checklicenses.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698