aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/iomgr/tcp_posix.c
Commit message (Collapse)AuthorAge
* Revert "Revert "Refactor Endpoint API""Gravatar Craig Tiller2015-08-27
|
* Revert "Refactor Endpoint API"Gravatar Craig Tiller2015-08-27
|
* Fix uninitialized dataGravatar Craig Tiller2015-08-26
|
* Turn off refcount debuggingGravatar Craig Tiller2015-08-24
|
* Refactor Endpoint APIGravatar Craig Tiller2015-08-21
| | | | | | - Allow reads to complete immediately - Unify read/write signatures - Simplify memory management to allow future optimization work
* clang-format all sourceGravatar Craig Tiller2015-08-18
|
* Merge github.com:grpc/grpc into ↵Gravatar Craig Tiller2015-07-26
|\ | | | | | | | | | | | | sometimes-its-good-just-to-check-in-with-each-other Conflicts: src/core/iomgr/tcp_server_windows.c
| * Fix flow controlGravatar Craig Tiller2015-07-23
| | | | | | | | | | | | - sending of window updates is now integrated with the primary write path, making this far more robust - iomgr starts up after shutdown correctly again
* | Merge github.com:grpc/grpc into ↵Gravatar Craig Tiller2015-07-23
|\| | | | | | | sometimes-its-good-just-to-check-in-with-each-other
| * Add grpc_call_get_peerGravatar Craig Tiller2015-07-20
| |
* | Added connectivity tests, fixed bugsGravatar Craig Tiller2015-07-16
|/
* Adding gpr_dump and gpr_hexdump as discussed. Removed gpr_slice_to_cstring ↵Gravatar Julien Boeuf2015-06-29
| | | | as well.
* clang-formatGravatar Craig Tiller2015-06-05
|
* Fix threading problem on early orphaningGravatar Craig Tiller2015-06-02
|
* Fix TSAN reported errorsGravatar Craig Tiller2015-06-01
|
* removed managed closures from server.cGravatar David Garcia Quintas2015-05-31
|
* Comments addressed.Gravatar David Garcia Quintas2015-05-31
|
* Adapted the following to the new iomgr's cb API:Gravatar David Garcia Quintas2015-05-31
| | | | | alarm_test, tcp_posix, fd_posix, pollset_posix, credentials, call, channel, server, child_channel
* Fix a potential leakGravatar Yang Gao2015-05-19
|
* Eliminate need for SIGPIPE handlingGravatar Craig Tiller2015-05-06
|
* Added missing profiling tags.Gravatar David Garcia Quintas2015-05-04
|
* Merge branch 'one-read' of github.com:ctiller/grpc into one-readGravatar Craig Tiller2015-05-01
|\ | | | | | | | | | | Conflicts: src/core/iomgr/tcp_posix.c src/core/profiling/basic_timers.c
* \ Merge github.com:grpc/grpc into one-readGravatar Craig Tiller2015-05-01
|\ \ | | | | | | | | | | | | | | | Conflicts: src/core/iomgr/tcp_posix.c src/core/profiling/basic_timers.c
| | * Merge github.com:grpc/grpc into one-readGravatar Craig Tiller2015-04-30
| | |\ | | |/ | |/|
| * | Merge comments. See below.Gravatar David Garcia Quintas2015-04-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | - Added ptag ignore annotation threshold - prefixed everythig with grpc_ - removed spurious annotations in channel_create.c and client_channel.c - removed stap_probes.h (it's generated from stap_probes.d by make) - Updated Makefile and its template with the right way to generate stap probe headers from its .d definition.
| | * Tweak commentGravatar Craig Tiller2015-04-29
| |/ |/|
| * Integration of Systemtap (STAP) for profiling.Gravatar David Garcia Quintas2015-04-29
| | | | | | | | This commit includes a faulty Makefile to be fixed in a follow commit.
* | Don't wait for EAGAIN before reporting reads upGravatar Craig Tiller2015-04-28
| |
* | Hoist iov_size into a grpc_tcp memberGravatar Craig Tiller2015-04-28
|/
* Fix some name choicesGravatar Vijay Pai2015-04-15
|
* Mark activation for read, write, and time spent in system callsGravatar Vijay Pai2015-04-15
|
* Tracer registration.Gravatar Craig Tiller2015-03-01
| | | | | | | | First: ugh. Second: allow tracer global variables to be registered and then parsed out of a configuration environment variable. Expose TSI trace config variable directly to ease this a little.
* Add a facility to control tracing without recompilingGravatar Craig Tiller2015-02-20
| | | | This will help greatly when it comes to diagnosing customer issues.
* Fix a TSAN reported errorGravatar Craig Tiller2015-02-18
| | | | | | | | | | We now pass down pointers to closures instead of (callback, arg) pair elements separately. This allows us to store one word atomically, fixing a race condition. All call sites have been updated to the new API. No new allocations are incurred. grpc_fd_state is deleted to avoid any temptation to ever add anything there again.
* Add missing new-lines at end of fileGravatar Craig Tiller2015-02-18
|
* Update copyright to 2015Gravatar Craig Tiller2015-02-18
|
* Move string.h to internal codeGravatar Craig Tiller2015-01-23
|
* Add platform ifdefs, fix up some MSVC warningsGravatar Craig Tiller2015-01-21
|
* 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
* 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
* 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