aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/iomgr/tcp_server_posix.c
Commit message (Collapse)AuthorAge
* Fix aliasingGravatar Craig Tiller2015-02-17
|
* clang-formatGravatar Craig Tiller2015-02-13
|
* Unix domain socket supportGravatar Craig Tiller2015-02-13
|
* Fix up feature test macrosGravatar David Klempner2015-02-04
| | | | | | | | | Move all feature test macros to the start of the file and check that they aren't already defined or defined to a lower value than the file needs. Projects should be allowed to put these in CFLAGS and we shouldn't break when they do.
* Re-enabling errors on warning, disabling unused parameter warning, and ↵Gravatar Nicolas "Pixel" Noble2015-01-30
| | | | fixing all subsequent errors.
* run clang-formatGravatar Yang Gao2015-01-26
|
* Merge pull request #153 from ctiller/windows-fixesGravatar Jan Tattermusch2015-01-23
|\ | | | | Windows fixes
* | Fix memory corruption if >2 portsGravatar Craig Tiller2015-01-21
| |
| * Typo fixGravatar Craig Tiller2015-01-21
| |
| * Add platform ifdefs, fix up some MSVC warningsGravatar Craig Tiller2015-01-21
|/
* () --> (void)Gravatar Craig Tiller2015-01-15
|
* Return bound port number from grpc_server_add_http2_port.Gravatar ctiller2015-01-12
| | | | | | | | Allows tests to bind to port 0 and still have clients connect to them. Change on 2015/01/12 by ctiller <ctiller@google.com> ------------- Created by MOE: http://code.google.com/p/moe-java MOE_MIGRATED_REVID=83800669
* Remove libevent.Gravatar ctiller2015-01-09
| | | | | | | | | | | | | | | | | | | | | | | 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
* Add a --forever flag, to continuously run tests as things change.Gravatar ctiller2015-01-09
| | | | | | | Change on 2015/01/07 by ctiller <ctiller@google.com> ------------- Created by MOE: http://code.google.com/p/moe-java MOE_MIGRATED_REVID=83451760
* 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
* GOAWAY & Reconnection support.Gravatar ctiller2014-12-15
| | | | | | | | | | | | Clients stay connected to a server after it shutdowns until all active calls have completed, and then they drop. After a GOAWAY or a disconnect, clients will attempt to re-resolve and reconnect to the server. Change on 2014/12/15 by ctiller <ctiller@google.com> ------------- Created by MOE: http://code.google.com/p/moe-java MOE_MIGRATED_REVID=82178515
* Introducing iomgr.Gravatar ctiller2014-12-09
Move eventmanager and platform dependent endpoint functionality into a single library called 'iomgr'. This is primarily to prepare for a Windows port - where posix socket semantics lead to poor quality code. Mostly this is a code movement CL, with some small changes to help prepare the way for porting: - em style fd objects can only be held internally in iomgr, and own their memory - added grpc_iomgr_create_endpoint_pair() to accomodate the common pattern of creating a tcp endpoint from the output of socketpair - this will help keep our tests portable - separated em alarm interface into a separate file, as this part of event manager is needed higher up the stack - made the eventmanager bits a true singleton, simplifying API's across the stack as there's no longer a reason to carry a pointer there. Initial design document is here: https://docs.google.com/document/d/1VmafcHvvrP5kwtQkz84R5yXF7u7fW-9Pn0bkSUQHDt8/edit?disco=AAAAARNByxg Change on 2014/12/09 by ctiller <ctiller@google.com> ------------- Created by MOE: http://code.google.com/p/moe-java MOE_MIGRATED_REVID=81716456