Vignesh Babu
7655858e93
Reland tcp endpoints for posix event engine ( #31150 )
...
* Revert "Revert "Tcp endpoint implementation for posix event engine. (#30559 )" (#31134 )"
This reverts commit 5fa37322cb
.
* make tx zero-copy more robust
* make tx zero-copy more robust
* typo
* fix
* re-enable commented code
* sanity
* sanity again
* Add parsing of /etc/security/limits.d directory
* review comments
* review comments
* typo in copyright
* missing newline
* sanity
* sanity
* iwyu
2 years ago
AJ Heller
6cac641c64
EventEngineFactoryReset - remove custom factory and reset default engine ( #30554 )
...
* EventEngineFactoryReset - remove custom factory and reset default engine
* fix
* Automated change: Fix sanity tests
* unused parameter
* fix
* fix
Co-authored-by: drfloob <drfloob@users.noreply.github.com>
2 years ago
Ashitha Santhosh
2bdec04852
Update comment on GRPC_ARG_TSI_MAX_FRAME_SIZE ( #31114 )
2 years ago
AJ Heller
2ee2c91c92
Reland x2: Make GetDefaultEventEngine return a shared_ptr ( #30619 )
...
* Reland x2: Make GetDefaultEventEngine return a shared_ptr
* remove thread leak from NativeDNSResolver
This is not going to work for resolvers that support cancellation.
* give resolvers bounded lifetimes
Some resolver own EventEngines. EventEngines cannot run off the end of
the process since they have unjoined threads (problematic in a small set
of environments). This gives resolvers bounded lifetimes, and allows
replacement of resolvers without ASAN issues of deleting resolvers in
active use (occurs in tests).
* fix
* fix windows
* fix surface init test
* fix
* sanitize
* use after move
* the test must wait for the callback to be destroyed
* windows fix: delete the resolver on iomgr shutdown, not before
* Make TimerManager threads non-joinable
On gRPC shutdown, any unjoined TimerManager threads will cause TSAN to
detect thread leaks. This fix resolves issues I saw in end2end test
shutdown in another PR, where a single timer manager thread was always
alive after the test ended.
The long-term solution is to integrate the new ThreadPool here, but this
unblocks me for now.
* backport fix
* fix
* shared_ptr<EventEngine> in EventEngine benchmarks
2 years ago
Craig Tiller
5fa37322cb
Revert "Tcp endpoint implementation for posix event engine. ( #30559 )" ( #31134 )
...
This reverts commit a81391d931
.
2 years ago
Vignesh Babu
a81391d931
Tcp endpoint implementation for posix event engine. ( #30559 )
...
* convert tcp code to use EndpointConfig and successfully compile
* regenerate projects
* copying config options used in tcp code to create map backed endpoint configs
* fix minor build issues
* fix includes in tests
* fix some build and test issues
* modifying endpoint config definition from an abstract interface into a concrete implementation
* minor fix
* add unreachable code check
* fix some windows build issues
* fix more build issues
* adding a grpc_tcp_generic_options struct to hold data extracted from EndpointConfig
* code formatting
* simplify
* fix sanity checks
* fix windows issues
* some posix fixes
* disabling copy constructor and copy assignment operator for endpoint config
* fix sanity checks
* fix syntax error
* fix weird formatting
* fix build issue
* fix review comments
* reverting un-necessary change
* remove channel args completely from windows impl since it is unused
* remove unused headers and fix usage in endpoint_pair_windows.cc
* cleanup
* cleanup
* fix some initialization issues
* re-generate projects
* removing some files
* fix ifdef for windows
* fixing windows build issue due to improper header file include
* Automated change: Fix sanity tests
* start
* regenerate-projects
* delete some files
* Automated change: Fix sanity tests
* review comments
* add comment
* Migrating posix event pollers to use new event poller interface
* add inline attributes
* Automated change: Fix sanity tests
* remove ref/unref from iomgr engine closure ad add custom closure types internal to the pollers
* updating time util usage
* use unique_ptrs
* update comments
* Automated change: Fix sanity tests
* review comments
* rename GetPointer to GetVoidPointer
* cleanup
* Automated change: Fix sanity tests
* removing EndpointConfig::Get method
* Automated change: Fix sanity tests
* cleanup
* fix
* fix review comments
* review comments
* cleanup
* update comments
* fix
* cleanup
* update comments
* Automated change: Fix sanity tests
* fix misleading comments
* bug fixes
* fix
* fix
* start
* revert some changes for bug fixes and allow spurious wakeups for poll based poller
* sanity
* fix
* minor fix
* review comments
* fix
* comment
* remove re-defined function
* fix review comments
* fix windows iocp build issue due to removed function
* change Milliseconds return type
* fix
* remove header
* regenerate projects
* fix sanity
* code
* fix sanity
* Automated change: Fix sanity tests
* Forking iomgr internal_errqueue defines for posix event engine
* fix BUILD file
* start
* update
* sanity
* regenerate_projects
* Automated change: Fix sanity tests
* rename
* review comments
* update
* review comments
* Automated change: Fix sanity tests
* fix BUILD
* add no_windows tag
* update
* update
* remove debug statements
* delete unused file
* update
* fix BUILD
* regenerate projects
* update
* fix BUILD
* update
* fix sanity
* minor additions to configure global tcp user timeout values
* cleanup
* fix build syntax
* change poller interface for posix event engine
* update event_poller_posix_test
* fix build error
* Add more unit tests
* windows ee changes
* update comment
* remove unused deps
* fix msan issue
* add comment
* adding rcv lowat helper to socket wrapper
* fix sanity
* review comments
* fix build issue
* fix sanity
* sanity
* iwyu sanity
* fix build
* merge conflict
* Automated change: Fix sanity tests
* update
* update
* fix macos issue
* fix msan and ubsan issues
* fix macos build issue
* comment
* review comments
* remove unused dep
* sanity
* merge conflict
* mac build issue
* regenerate projects
* build issue
* fix typo and address review comments
* review comments
* Automated change: Fix sanity tests
* update
* merge issue
* review comments
* sanity
* fix build issue
* review comments
* add thread annotations
* MacOS fix unused variable
* add some more #endif comments
* missing semi-colon
* Automated change: Fix sanity tests
* sanity
* sanity again
* sanity try again
* sanity again
* try again with no_include pragma
Co-authored-by: Vignesh2208 <Vignesh2208@users.noreply.github.com>
2 years ago
Craig Tiller
93fdc99756
[init] Remove grpc_register_plugin ( #30929 )
...
* [init] Remove grpc_register_plugin
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
* fix
* fix
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
f15ba1ffc7
[tls] Remove support for pthread tls ( #31040 )
...
* [tls] Remove support for pthread tls
* fix
* fix
* fix
* lalala
* fix
* fix
* Clean up deployment target changes
* additional clean up of deployment target
* regen podspec for updated file list
* remove destination change
* deployment target override for ios cpp test
* fix?
* fix run test script & update test destination
* [tls] Remove support for pthread tls
* fix
* fix
* fix
* lalala
* fix
* fix
* Clean up deployment target changes
* additional clean up of deployment target
* regen podspec for updated file list
* remove destination change
* deployment target override for ios cpp test
* fix?
* fix run test script & update test destination
* merge
* fix
* final script fix for proper destination & target
* more deployment target fix
* objc ios test script fix
Co-authored-by: Denny C. Dai <dennycd@me.com>
Co-authored-by: dennycd <dennycd@google.com>
2 years ago
Craig Tiller
da08fe1d6f
Revert "Remove `include/grpcpp/impl/codegen/client_callback.h` ( #31005 )" ( #31079 )
...
This reverts commit 17f515744f
.
2 years ago
Cheng-Yu Chung
0cb5faf8e4
Remove `include/grpcpp/impl/codegen/client_interceptor.h` ( #31054 )
...
* Remove `include/grpcpp/impl/codegen/client_interceptor.h`
* Update comment
2 years ago
Cheng-Yu Chung
17f515744f
Remove `include/grpcpp/impl/codegen/client_callback.h` ( #31005 )
2 years ago
AJ Heller
ba67187f20
Derive EventEngine from std::enable_shared_from_this ( #31060 )
...
This is an API change required for subsequent work in using EventEngine
shared_ptrs. It has been landed and reverted with other work multiple
times, so I'm landing it independently.
2 years ago
Cheng-Yu Chung
7cb9731e4e
Remove `include/grpcpp/impl/codegen/call_op_set_interface.h` ( #30990 )
2 years ago
Cheng-Yu Chung
bc312c7a43
Remove `include/grpcpp/impl/codegen/call.h` ( #31004 )
...
* Remove `include/grpcpp/impl/codegen/call.h`
* Update comment
2 years ago
Cheng-Yu Chung
3236174176
Remove `include/grpcpp/impl/codegen/byte_buffer.h` ( #30948 )
...
* Remove `include/grpcpp/impl/codegen/byte_buffer.h`
* Update
2 years ago
Cheng-Yu Chung
d07224a13e
Remove `include/grpcpp/impl/codegen/call_hook.h` ( #30967 )
2 years ago
Cheng-Yu Chung
b765b06155
Remove `include/grpcpp/impl/codegen/async_stream.h` ( #30941 )
...
* Remove `include/grpcpp/impl/codegen/async_stream.h`
* Fix
* Fix
* Update
2 years ago
Cheng-Yu Chung
cb3d7a9e9e
Revert "Revert "Remove `include/grpcpp/impl/codegen/async_unary_call.h`"" ( #30955 )
...
* Revert "Revert "Remove `include/grpcpp/impl/codegen/async_unary_call.h` (#30945 )" (#30950 )"
This reverts commit 0c454fa875
.
* Fix
2 years ago
Cheng-Yu Chung
6e57952589
Revert "Revert "Remove `include/grpcpp/impl/codegen/async_generic_service.h` ( #30450 )" ( #30951 )" ( #30956 )
...
This reverts commit a81b61113c
.
2 years ago
Craig Tiller
0c454fa875
Revert "Remove `include/grpcpp/impl/codegen/async_unary_call.h` ( #30945 )" ( #30950 )
...
This reverts commit 7dbc73d4f3
.
2 years ago
Craig Tiller
a81b61113c
Revert "Remove `include/grpcpp/impl/codegen/async_generic_service.h` ( #30450 )" ( #30951 )
...
This reverts commit c6326bbc75
.
2 years ago
Cheng-Yu Chung
c6326bbc75
Remove `include/grpcpp/impl/codegen/async_generic_service.h` ( #30450 )
...
* Remove `include/grpcpp/impl/codegen/async_generic_service.h`
* Fix test
* Reserve compatibility
2 years ago
Cheng-Yu Chung
7dbc73d4f3
Remove `include/grpcpp/impl/codegen/async_unary_call.h` ( #30945 )
2 years ago
Vignesh Babu
70dd34b438
Revert "Revert "Modifying iomgr tcp code to use event engine EndpointConfig instead of channel_args"" ( #30509 )
...
* Revert "Revert "Modifying iomgr tcp code to use event engine EndpointConfig instead of channel_args (#30028 )" (#30495 )"
This reverts commit 0b1a8c984b
.
* bug fix
* bug fix
* fix sanity
2 years ago
Craig Tiller
6746f670c1
[cleanup] Remove low level counters ( #30611 )
...
* [cleanup] Remove low level counters
* clean up code
* Automated change: Fix sanity tests
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Vignesh Babu
602c5e8e97
Add a provision to allow specification of separate set of channel args for the channel to grpclb server ( #30755 )
...
* Add a provision to allow specification of separate set of channel args for the grpclb channel
* fix asan issue
* review comments
* review comments
* add missing file
* remove unused hdr
* fix sanity
* fix comments
* remove unused hdr
2 years ago
AJ Heller
d025c1732f
Revert "Reland: Make GetDefaultEventEngine return a shared_ptr ( #30563 )" ( #30573 )
...
This reverts commit ee7c0a8e4c
.
2 years ago
AJ Heller
ee7c0a8e4c
Reland: Make GetDefaultEventEngine return a shared_ptr ( #30563 )
...
* Reland: "Make GetDefaultEventEngine return a shared_ptr (#30280 )"
This reverts commit 45959e7cc1
.
* Attempted fix with NoDestruct
* Not a process-wide singleton for the type. Just a NonDestruct
* fix
2 years ago
AJ Heller
45959e7cc1
Revert "Make GetDefaultEventEngine return a shared_ptr ( #30280 )" ( #30558 )
...
This reverts commit 4df74f2b4c
.
2 years ago
AJ Heller
4df74f2b4c
Make GetDefaultEventEngine return a shared_ptr ( #30280 )
...
This works around valgrind memory leaks by giving EventEngines a fixed
lifetime. We eventually want ref-counted EventEngines internally, so this is
a step in the right direction as well.
2 years ago
Vignesh Babu
0b1a8c984b
Revert "Modifying iomgr tcp code to use event engine EndpointConfig instead of channel_args ( #30028 )" ( #30495 )
...
This reverts commit 2c977a4d98
.
2 years ago
Vignesh Babu
2c977a4d98
Modifying iomgr tcp code to use event engine EndpointConfig instead of channel_args ( #30028 )
...
* convert tcp code to use EndpointConfig and successfully compile
* regenerate projects
* copying config options used in tcp code to create map backed endpoint configs
* fix minor build issues
* fix includes in tests
* fix some build and test issues
* modifying endpoint config definition from an abstract interface into a concrete implementation
* minor fix
* add unreachable code check
* fix some windows build issues
* fix more build issues
* adding a grpc_tcp_generic_options struct to hold data extracted from EndpointConfig
* code formatting
* simplify
* fix sanity checks
* fix windows issues
* some posix fixes
* disabling copy constructor and copy assignment operator for endpoint config
* fix sanity checks
* fix syntax error
* fix weird formatting
* fix build issue
* fix review comments
* reverting un-necessary change
* remove channel args completely from windows impl since it is unused
* remove unused headers and fix usage in endpoint_pair_windows.cc
* cleanup
* cleanup
* fix some initialization issues
* re-generate projects
* removing some files
* fix ifdef for windows
* fixing windows build issue due to improper header file include
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* review comments
* add comment
* review comments
* rename GetPointer to GetVoidPointer
* cleanup
* Automated change: Fix sanity tests
* removing EndpointConfig::Get method
* Automated change: Fix sanity tests
* minor fix
Co-authored-by: Vignesh2208 <Vignesh2208@users.noreply.github.com>
2 years ago
Craig Tiller
f268659bf1
Revert "Revert "[filter-stack] Eliminate flags on initial metadata ( #30444 )" ( #30475 )" ( #30476 )
...
This reverts commit 4bc69cbe38
.
2 years ago
Craig Tiller
4bc69cbe38
Revert "[filter-stack] Eliminate flags on initial metadata ( #30444 )" ( #30475 )
...
This reverts commit cd30b2dda1
.
2 years ago
Craig Tiller
cd30b2dda1
[filter-stack] Eliminate flags on initial metadata ( #30444 )
...
* [filterstack] Eliminate flags on initial metadata
Instead prefer to pass this data in non-encoded metadata.
Needed to fix MetadataMap::Copy to copy non-encoded metadata (not doing so was unintended).
Removed the flags from call_details because there's not been a use for them there for a very long time.
* Automated change: Fix sanity tests
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
254bd7b6f6
[core] Remove GRPC_INITIAL_METADATA_CORKED flag ( #30443 )
...
This functionality is entirely implemented in the C++ bindings layer, and so does not need a flag passed down to core (which core already ignores silently).
2 years ago
Esun Kim
b37996d50e
Removed GRPC_ERROR_IS_ABSEIL_STATUS ( #30267 )
...
* Removed GRPC_ERROR_IS_ABSEIL_STATUS
* Remove error_internal.h
2 years ago
AJ Heller
1076a7d447
Use AnyInvocable in EventEngine APIs ( #30220 )
2 years ago
AJ Heller
71c0eb090a
Revert "[WIP] Use AnyInvocable in EventEngine APIs ( #30208 )" ( #30219 )
...
This reverts commit dbbf16f07a
.
2 years ago
AJ Heller
dbbf16f07a
[WIP] Use AnyInvocable in EventEngine APIs ( #30208 )
...
This provides a move-only alternative to std::function.
fix oracle and engine factory
fix generate_projects for any_invocable
fix
format & iwyu
Automated change: Fix sanity tests (#30205 )
Co-authored-by: drfloob <drfloob@users.noreply.github.com>
Co-authored-by: drfloob <drfloob@users.noreply.github.com>
2 years ago
Ming-Chuan
5202e873ff
BinderTransport: Support Intent URI ( #30104 )
...
This commit adds a new overloaded version of `CreateBinderChannel`, that accepts
an intent URI (which should be able to be parsed by
https://developer.android.com/reference/android/content/Intent#parseUri(java.lang.String,%20int) )
for specifying the component to connect to.
Later we will deprecate the old APIs that accepts `package_name`,
`class_name`, and `action_name` separately. Intent URI seems to be a
better and more flexible way to specify a component to connect to.
`grpc.binder.custom_android_intent_action_name` channel arg is deprecated now.
User should use URI to specify custom action instead.
2 years ago
AJ Heller
b549e15488
Revert "Add std::shared_ptr support to ChannelArgs, and precondition ChannelArgs with a default EventEngine ( #30128 )" ( #30170 )
...
This reverts commit e28b70a533
.
2 years ago
AJ Heller
e28b70a533
Add std::shared_ptr support to ChannelArgs, and precondition ChannelArgs with a default EventEngine ( #30128 )
...
* [WIP] Precondition ChannelArgs with a default EventEngine
This is a step towards using ChannelArgs as the primary means of
accessing EventEngine instances in gRPC-core. If not explicitly provided
by the application, a default EventEngine will populated into
ChannelArgs during preconditioning.
This is not a final state, we may want to enable ref-counting here
instead of using raw pointers. And a refactoring is in order to enable
GetObject instead of the more verbose
GetPointer<EventEngine>(GRPC_ARG_EVENT_ENGINE).
* Refactor ChannelArgs::GetObject to support non-conforming classes
This allows us to not expose `ChannelArgName` in the public interface.
* Add std::shared_ptr to ChannelArgs; Add EventEngine specialization
* subchannel fix; cleanup
* replace GetSharedPtr with overloads of GetObjectRef
* Automated change: Fix sanity tests
* fix the fixer
* fix raw pointer retrieval from stored shared_ptr
* Make GetObjectRef<EventEngine> work (not general to shared_ptr)
* enable shared_ptr ChannelArg support for shared_from_this
* use new EventEngines for tests (not the default global)
* Automated change: Fix sanity tests
Co-authored-by: drfloob <drfloob@users.noreply.github.com>
2 years ago
Craig Tiller
eb5ae61470
Reland (again) bytestream removal ( #29987 )
...
* Revert "Revert "Reland bytestream removal (#29911 )" (#29964 )"
This reverts commit e6c6840db3
.
* initial fc fuzzer
* fixes
* add rq to fc fuzzer
* fleshing things out
* Automated change: Fix sanity tests
* cleanup
* send with payload
* ensure if no reader no flow control tokens are granted
* remove some public methods
* remove bogus benchmarks
* account for pending size
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* better logic
* Automated change: Fix sanity tests
* fix
* fixes
* fuzz pending size
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
* huh
* increase too short timeout
* review feedback
* review feedback
* fix u32 overflow
* fix
* robustness fixes for channelz_servicer_test
* fix
* Automated change: Fix sanity tests
* fix
* fix
* fix
* Automated change: Fix sanity tests
* dont send window updates if read closed
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
8249bb97e2
[event_engine] Fix initialization ( #30107 )
...
* [event_engine] Fix initialization
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Hannah Shi
1394287517
Fix 'This function declaration is not a prototype' warning in Xcode ( #29871 )
2 years ago
Esun Kim
c66c362191
Reland "Enable GRPC_ERROR_IS_ABSEIL_STATUS" ( #30047 )
...
* Revert "Revert "Enable GRPC_ERROR_IS_ABSEIL_STATUS (#29869 )" (#30031 )"
This reverts commit 2d0d1775a9
.
* Fix the test
2 years ago
Craig Tiller
d9f64437b0
[event_engine] Use durations for scheduling things ( #30023 )
...
* [event_engine] Use durations for scheduling things
* fix
* Automated change: Fix sanity tests
* run-after
* fix
* Automated change: Fix sanity tests
* rename
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Esun Kim
2d0d1775a9
Revert "Enable GRPC_ERROR_IS_ABSEIL_STATUS ( #29869 )" ( #30031 )
...
This reverts commit c6058b5e6b
.
2 years ago
Esun Kim
c6058b5e6b
Enable GRPC_ERROR_IS_ABSEIL_STATUS ( #29869 )
...
* Enable GRPC_ERROR_IS_ABSEIL_STATUS
* Sanitize
* Fix ServerRequestCallTest
2 years ago