aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/transport
Commit message (Collapse)AuthorAge
* Fix a double-close in the server code.Gravatar Craig Tiller2015-02-21
| | | | Exposed (I think) now that we properly handle POLLHUP.
* 32 bit compilation fixes for coreGravatar Craig Tiller2015-02-19
|
* Fix use-after-free.Gravatar Craig Tiller2015-02-18
| | | | | | | Transport and channel have different lifetimes, but share a metadata context. Make the metadata context ref counted, and have transport take a ref.
* Spam cleanup, test speedupGravatar Craig Tiller2015-02-18
|
* Add missing new-lines at end of fileGravatar Craig Tiller2015-02-18
|
* Update copyright to 2015Gravatar Craig Tiller2015-02-18
|
* Merge github.com:grpc/grpc into c++apiGravatar Craig Tiller2015-02-17
|\
| * Fix a race in transport.Gravatar Craig Tiller2015-02-17
| | | | | | | | | | | | | | | | I removed the condition variable here a little while ago to remove a thundering herd. Unfortunately it introduces a race if we are calling back an application defined object whilst destroying. Reintroduce the cv, and guard it's usage closely to avoid the herd (additionally, it's not needed for stream deletion, so we keep it out of that).
* | Merge github.com:grpc/grpc into c++apiGravatar Craig Tiller2015-02-17
|\| | | | | | | | | Conflicts: Makefile
| * Avoid four allocations per streamGravatar Craig Tiller2015-02-13
| |
* | Remove debugGravatar Craig Tiller2015-02-11
| |
* | Some streaming progressGravatar Craig Tiller2015-02-11
| |
* | Fix raceGravatar Craig Tiller2015-02-11
|/
* Correctly handle large headers in HPACK tableGravatar Craig Tiller2015-02-10
| | | | | | I missed a clause in section 4.4 of the HPACK spec when implementing this stuff. Removes an errant assert and correctly handles adding large entries to the HPACK table by flushing it and leaving it empty.
* Merge github.com:google/grpc into http3Gravatar Craig Tiller2015-02-04
|\
| * Merge pull request #398 from nicolasnoble/http2-read-firstGravatar Craig Tiller2015-02-04
| |\ | | | | | | Let the http2 transport issue a read request before pumping bytes into it.
| | * Let the http2 transport issue a read request before pumping bytes into it.Gravatar Nicolas Noble2015-02-04
| | |
* | | Eliminate condvar in chttp2 transportGravatar Craig Tiller2015-02-04
|/ / | | | | | | This used to be necessary to guarantee safe deletion, but with refcounting changes in call it's no longer needed
* | Fix potential deadlockGravatar Craig Tiller2015-02-03
| |
| * Fix memory leakGravatar Craig Tiller2015-01-31
| |
| * Free stream ops outside transport lockGravatar Craig Tiller2015-01-31
| | | | | | | | Resolves a deadlock caused by flow control callbacks being made under the lock.
* | Fix memory leakGravatar Craig Tiller2015-01-30
| |
* | Free stream ops outside transport lockGravatar Craig Tiller2015-01-29
| | | | | | | | Resolves a deadlock caused by flow control callbacks being made under the lock.
* | First compiling version of the new C api.Gravatar Craig Tiller2015-01-27
|/
* run clang-formatGravatar Yang Gao2015-01-26
|
* Fixing a few winsocket misuses.Gravatar Nicolas "Pixel" Noble2015-01-24
|
* Use symbolic constantGravatar Craig Tiller2015-01-23
|
* Merge branch 'kill-printf' into kill-more-printfGravatar Craig Tiller2015-01-23
|\
| * Add constant for min bufsize for timeout encodingGravatar Craig Tiller2015-01-23
| |
* | Merge branch 'kill-printf' into kill-more-printfGravatar Craig Tiller2015-01-23
|\|
| * Move string.h to internal codeGravatar Craig Tiller2015-01-23
| |
* | Remove use of sprintfGravatar Craig Tiller2015-01-23
|/
* Remove sprintf from timeout_encodingGravatar Craig Tiller2015-01-23
|
* Add platform ifdefs, fix up some MSVC warningsGravatar Craig Tiller2015-01-21
|
* Merge github.com:google/grpc into connGravatar Craig Tiller2015-01-19
|\ | | | | | | | | Conflicts: src/core/transport/chttp2_transport.c
* | Disconnect on bad connection prefixGravatar Craig Tiller2015-01-19
| |
| * Use clang-format-3.5Gravatar Craig Tiller2015-01-18
|/
* () --> (void)Gravatar Craig Tiller2015-01-15
|
* clang-format codebaseGravatar Craig Tiller2015-01-13
|
* Ensure flow control callbacks happen outside the transport lock.Gravatar ctiller2015-01-12
| | | | | | | | | | | | | | Split encoding into two phases: a collection phase to decide on what is allowed (by flow control) to be sent, and a framing phase when the data is actually sent. Perform the second phase outside of the transport mutex (but serially, guarded by t->writing) and make flow control callbacks during that phase. This will allow us to make further transport level calls in response to flow control callbacks, and will be needed by the forthcoming async api for C++. Change on 2015/01/12 by ctiller <ctiller@google.com> ------------- Created by MOE: http://code.google.com/p/moe-java MOE_MIGRATED_REVID=83774409
* 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
* Remove endpoint/ directories.Gravatar ctiller2014-12-17
| | | | | | | | | | Fold endpoint interface into iomgr, move secure_endpoint into security/. This will make it easier for endpoint to rely on some iomgr defined types (like pollset). Change on 2014/12/17 by ctiller <ctiller@google.com> ------------- Created by MOE: http://code.google.com/p/moe-java MOE_MIGRATED_REVID=82338036
* Add an assertion to prevent return-without-value warning.Gravatar vpai2014-12-15
| | | | | | | Change on 2014/12/15 by vpai <vpai@google.com> ------------- Created by MOE: http://code.google.com/p/moe-java MOE_MIGRATED_REVID=82177414
* Fix mixing function, and make it universally used.Gravatar ctiller2014-12-15
| | | | | | | Change on 2014/12/15 by ctiller <ctiller@google.com> ------------- Created by MOE: http://code.google.com/p/moe-java MOE_MIGRATED_REVID=82155669
* Binary header encoding.Gravatar ctiller2014-12-15
| | | | | | | | Also fixes a rather embarrassing bug in bin_encoder.c. Change on 2014/12/12 by ctiller <ctiller@google.com> ------------- Created by MOE: http://code.google.com/p/moe-java MOE_MIGRATED_REVID=82024795
* Split client_channel into client_channel & child_channel.Gravatar ctiller2014-12-12
| | | | | | | | | | Safely managing disconnection and goaways needs reference counting at the child channel level, which was near impossible to provide with the previous embedding of the child channel in the client channel. This is a (hopefully) no-op refactoring to provide that split. The next CL in this series will actually get disconnection and goaway somewhat right. Change on 2014/12/12 by ctiller <ctiller@google.com> ------------- Created by MOE: http://code.google.com/p/moe-java MOE_MIGRATED_REVID=81985590
* Shutting off warning by properly truncating values.Gravatar nnoble2014-12-12
| | | | | | | Change on 2014/12/11 by nnoble <nnoble@google.com> ------------- Created by MOE: http://code.google.com/p/moe-java MOE_MIGRATED_REVID=81924726