aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/iomgr/pollset.h
Commit message (Collapse)AuthorAge
* Merge branch 'master' of github.com:grpc/grpc into guard_checkGravatar David Garcia Quintas2016-03-17
|\
| * Fixing bitrotting in udp_server_test.cGravatar Nicolas "Pixel" Noble2016-03-17
| |
* | Fixed include guardsGravatar David Garcia Quintas2016-03-15
|/
* Revert "Revert "Add an implementation firewall against pollset_set""Gravatar Craig Tiller2016-02-25
|
* Revert "Add an implementation firewall against pollset_set"Gravatar Vijay Pai2016-02-25
|
* Change pollset mutex ownershipGravatar Craig Tiller2016-02-25
|
* Update copyrightsGravatar Craig Tiller2016-02-19
|
* Provide an interface firewall between pollset and its implementationsGravatar Craig Tiller2016-02-19
| | | | | | | Starting to allow for >1 implementation of pollset within a binary. Do so without requiring an extra allocation for completion queues (which we could not tolerate).
* Move worker into pollsetGravatar Craig Tiller2016-02-18
|
* stream_op cleanup: pollset changesGravatar Craig Tiller2015-11-02
|
* clang-format all core filesGravatar Craig Tiller2015-09-22
|
* Move arguments to the start of listsGravatar Craig Tiller2015-09-22
|
* indent pass to get logical source lines on one physical lineGravatar Craig Tiller2015-09-22
|
* Rename call_list to closure_listGravatar Craig Tiller2015-09-22
|
* Call list progressGravatar Craig Tiller2015-09-21
|
* Call list progressGravatar Craig Tiller2015-09-18
|
* Windows implementation of new pollset semanticsGravatar Craig Tiller2015-08-06
|
* Working towards a non-blocking API testGravatar Craig Tiller2015-08-06
|
* Allow specific pollers to be wokenGravatar Craig Tiller2015-07-29
| | | | | | | | | | | | | | | | | | | Currently, if two threads call grpc_completion_queue_pluck on the same completion queue for different tags, there is a 50% chance that we deliver the completion wakeup to the wrong poller - forcing the correct poller to wait until its polling times out before it can return an event up to the application. This change tweaks our polling interfaces so that we can indeed wake a specific poller. Nothing has been performance tuned yet. It's definitely sub-optimal in a number of places. Wakeup file-descriptors should be recycled. We should have a path that avoids calling poll() followed by epoll(). We can probably live without it right at the second though. This code will fail on Windows at least (I'll do that port when I'm in the office and have a Windows machine).
* Fixing Windows port after the removal of the backup poller.Gravatar Nicolas Noble2015-06-23
| | | | With the backup poller gone, the caller of grpc_pollset_work is expecting it to sleep. Aligning the behavior of the Windows port with the behavior of the Posix port.
* DocsGravatar Craig Tiller2015-06-18
|
* clang-formatGravatar Craig Tiller2015-06-05
|
* Initial pollset_set design sketchGravatar Craig Tiller2015-05-07
|
* Guard headers tool.Gravatar Nicolas "Pixel" Noble2015-03-01
|
* Add a shutdown API to pollsetGravatar David Klempner2015-02-24
| | | | | | | | This allows us to safely asynchronously add FDs in the possibly-promoting unary add case. Also fix the unary add async path to properly handle more of the extra cases it needs to handle.
* Add missing new-lines at end of fileGravatar Craig Tiller2015-02-18
|
* Update copyright to 2015Gravatar Craig Tiller2015-02-18
|
* Disable compilation of some filesGravatar Craig Tiller2015-01-21
| | | | They're not needed on Windows
* Fix win32 build error.Gravatar Craig Tiller2015-01-09
|
* Remove libevent.Gravatar ctiller2015-01-08
| | | | | | | | | | | | | | | | | | | | | | | Fixed any exposed bugs across the stack. Add a poll() based implementation. Heavily leverages pollset infrastructure to allow small polls to be the norm. Exposes a mechanism to plug in epoll/kqueue for platforms where we have them. Simplify iomgr callbacks to return one bit of success or failure (instead of the multi valued result that was mostly unused previously). This will ease the burden on new implementations, and the previous system provided no real value anyway. Removed timeouts on endpoint read/write routines. This simplifies porting burden by providing a more orthogonal interface, and the functionality can always be replicated when desired by using an alarm combined with endpoint_shutdown. I'm fairly certain we ended up with this interface because it was convenient to do from libevent. Things that need attention still: - adding an fd to a pollset is O(n^2) - but this is probably ok given that we'll not use this for multipolling once platform specific implementations are added. - we rely on the backup poller too often - especially for SSL handshakes and for client connection establishment we should have a better mechanism ([] [] - Linux needs to use epoll for multiple fds, FreeBSD variants (including Darwin) need to use kqueue. ([] [] - Linux needs to use eventfd for poll kicking. ([] Change on 2015/01/07 by ctiller <ctiller@google.com> ------------- Created by MOE: http://code.google.com/p/moe-java MOE_MIGRATED_REVID=83461069
* Introduce the (outside-of-iomgr) pollset API.Gravatar ctiller2014-12-19
This CL introduces the public side of this interface. There will need to be an iomgr-private API also, but this will be a per-implementation API and so is not covered here. I've taken care of wiring the interface through the codebase in the manner that I expect it will be used. Change on 2014/12/17 by ctiller <ctiller@google.com> ------------- Created by MOE: http://code.google.com/p/moe-java MOE_MIGRATED_REVID=82376987