[EventEngine] Remove SocketNotifier interface (#32277)

* [EventEngine] Remove SocketNotifier interface

* Automated change: Fix sanity tests

---------

Co-authored-by: drfloob <drfloob@users.noreply.github.com>
pull/32251/head
AJ Heller 2 years ago committed by GitHub
parent bfb7257c21
commit a163b983d8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      build_autogenerated.yaml
  2. 2
      gRPC-C++.podspec
  3. 2
      gRPC-Core.podspec
  4. 1
      grpc.gemspec
  5. 1
      package.xml
  6. 11
      src/core/BUILD
  7. 55
      src/core/lib/event_engine/socket_notifier.h
  8. 15
      src/core/lib/event_engine/windows/win_socket.h
  9. 1
      tools/doxygen/Doxyfile.c++.internal
  10. 1
      tools/doxygen/Doxyfile.core.internal

@ -811,7 +811,6 @@ libs:
- src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h
- src/core/lib/event_engine/resolved_address_internal.h
- src/core/lib/event_engine/shim.h
- src/core/lib/event_engine/socket_notifier.h
- src/core/lib/event_engine/tcp_socket_utils.h
- src/core/lib/event_engine/thread_pool.h
- src/core/lib/event_engine/time_util.h
@ -2146,7 +2145,6 @@ libs:
- src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h
- src/core/lib/event_engine/resolved_address_internal.h
- src/core/lib/event_engine/shim.h
- src/core/lib/event_engine/socket_notifier.h
- src/core/lib/event_engine/tcp_socket_utils.h
- src/core/lib/event_engine/thread_pool.h
- src/core/lib/event_engine/time_util.h
@ -3601,7 +3599,6 @@ libs:
- src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h
- src/core/lib/event_engine/resolved_address_internal.h
- src/core/lib/event_engine/shim.h
- src/core/lib/event_engine/socket_notifier.h
- src/core/lib/event_engine/tcp_socket_utils.h
- src/core/lib/event_engine/thread_pool.h
- src/core/lib/event_engine/time_util.h
@ -7416,7 +7413,6 @@ targets:
- src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h
- src/core/lib/event_engine/resolved_address_internal.h
- src/core/lib/event_engine/shim.h
- src/core/lib/event_engine/socket_notifier.h
- src/core/lib/event_engine/tcp_socket_utils.h
- src/core/lib/event_engine/thread_pool.h
- src/core/lib/event_engine/time_util.h

2
gRPC-C++.podspec generated

@ -761,7 +761,6 @@ Pod::Spec.new do |s|
'src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h',
'src/core/lib/event_engine/resolved_address_internal.h',
'src/core/lib/event_engine/shim.h',
'src/core/lib/event_engine/socket_notifier.h',
'src/core/lib/event_engine/tcp_socket_utils.h',
'src/core/lib/event_engine/thread_local.h',
'src/core/lib/event_engine/thread_pool.h',
@ -1691,7 +1690,6 @@ Pod::Spec.new do |s|
'src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h',
'src/core/lib/event_engine/resolved_address_internal.h',
'src/core/lib/event_engine/shim.h',
'src/core/lib/event_engine/socket_notifier.h',
'src/core/lib/event_engine/tcp_socket_utils.h',
'src/core/lib/event_engine/thread_local.h',
'src/core/lib/event_engine/thread_pool.h',

2
gRPC-Core.podspec generated

@ -1181,7 +1181,6 @@ Pod::Spec.new do |s|
'src/core/lib/event_engine/shim.h',
'src/core/lib/event_engine/slice.cc',
'src/core/lib/event_engine/slice_buffer.cc',
'src/core/lib/event_engine/socket_notifier.h',
'src/core/lib/event_engine/tcp_socket_utils.cc',
'src/core/lib/event_engine/tcp_socket_utils.h',
'src/core/lib/event_engine/thread_local.cc',
@ -2377,7 +2376,6 @@ Pod::Spec.new do |s|
'src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h',
'src/core/lib/event_engine/resolved_address_internal.h',
'src/core/lib/event_engine/shim.h',
'src/core/lib/event_engine/socket_notifier.h',
'src/core/lib/event_engine/tcp_socket_utils.h',
'src/core/lib/event_engine/thread_local.h',
'src/core/lib/event_engine/thread_pool.h',

1
grpc.gemspec generated

@ -1090,7 +1090,6 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/event_engine/shim.h )
s.files += %w( src/core/lib/event_engine/slice.cc )
s.files += %w( src/core/lib/event_engine/slice_buffer.cc )
s.files += %w( src/core/lib/event_engine/socket_notifier.h )
s.files += %w( src/core/lib/event_engine/tcp_socket_utils.cc )
s.files += %w( src/core/lib/event_engine/tcp_socket_utils.h )
s.files += %w( src/core/lib/event_engine/thread_local.cc )

1
package.xml generated

@ -1072,7 +1072,6 @@
<file baseinstalldir="/" name="src/core/lib/event_engine/shim.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/event_engine/slice.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/event_engine/slice_buffer.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/event_engine/socket_notifier.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/event_engine/tcp_socket_utils.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/event_engine/tcp_socket_utils.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/event_engine/thread_local.cc" role="src" />

@ -1848,16 +1848,6 @@ grpc_cc_library(
],
)
grpc_cc_library(
name = "event_engine_socket_notifier",
hdrs = ["lib/event_engine/socket_notifier.h"],
external_deps = ["absl/status"],
deps = [
"//:event_engine_base_hdrs",
"//:gpr_platform",
],
)
grpc_cc_library(
name = "posix_event_engine_tcp_socket_utils",
srcs = [
@ -2034,7 +2024,6 @@ grpc_cc_library(
"error",
"event_engine_executor",
"event_engine_poller",
"event_engine_socket_notifier",
"event_engine_time_util",
"event_engine_trace",
"//:event_engine_base_hdrs",

@ -1,55 +0,0 @@
// Copyright 2022 gRPC authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifndef GRPC_SRC_CORE_LIB_EVENT_ENGINE_SOCKET_NOTIFIER_H
#define GRPC_SRC_CORE_LIB_EVENT_ENGINE_SOCKET_NOTIFIER_H
#include <grpc/support/port_platform.h>
#include "absl/status/status.h"
#include <grpc/event_engine/event_engine.h>
namespace grpc_event_engine {
namespace experimental {
// Generically wraps a socket/fd, and manages the registration of callbacks and
// triggering of notifications on it.
class SocketNotifier {
public:
virtual ~SocketNotifier() = default;
// Schedule on_read to be invoked when the underlying socket
// becomes readable.
// If the socket is already readable, the callback will be executed as soon as
// possible.
virtual void NotifyOnRead(EventEngine::Closure* on_read) = 0;
// Schedule on_write to be invoked when the underlying socket
// becomes writable.
// If the socket is already writable, the callback will be executed as soon as
// possible.
virtual void NotifyOnWrite(EventEngine::Closure* on_write) = 0;
// Set a readable event on the underlying socket.
virtual void SetReadable() = 0;
// Set a writable event on the underlying socket.
virtual void SetWritable() = 0;
// Shutdown a SocketNotifier. After this operation, NotifyXXX and SetXXX
// operations cannot be performed.
virtual void MaybeShutdown(absl::Status why) = 0;
// Returns true if the SocketNotifier has been shutdown.
virtual bool IsShutdown() = 0;
};
} // namespace experimental
} // namespace grpc_event_engine
#endif // GRPC_SRC_CORE_LIB_EVENT_ENGINE_SOCKET_NOTIFIER_H

@ -24,13 +24,12 @@
#include <grpc/event_engine/event_engine.h>
#include "src/core/lib/event_engine/executor/executor.h"
#include "src/core/lib/event_engine/socket_notifier.h"
#include "src/core/lib/gprpp/sync.h"
namespace grpc_event_engine {
namespace experimental {
class WinSocket final : public SocketNotifier {
class WinSocket {
public:
// State related to a Read or Write socket operation
class OpState {
@ -70,16 +69,16 @@ class WinSocket final : public SocketNotifier {
// - The IOCP already completed in the background, and we need to call
// the callback now.
// - The IOCP hasn't completed yet, and we're queuing it for later.
void NotifyOnRead(EventEngine::Closure* on_read) override;
void NotifyOnWrite(EventEngine::Closure* on_write) override;
void SetReadable() override;
void SetWritable() override;
void NotifyOnRead(EventEngine::Closure* on_read);
void NotifyOnWrite(EventEngine::Closure* on_write);
void SetReadable();
void SetWritable();
// Schedule a shutdown of the socket operations. Will call the pending
// operations to abort them. We need to do that this way because of the
// various callsites of that function, which happens to be in various
// mutex hold states, and that'd be unsafe to call them directly.
void MaybeShutdown(absl::Status why) override;
bool IsShutdown() override;
void MaybeShutdown(absl::Status why);
bool IsShutdown();
// Return the appropriate OpState for a given OVERLAPPED
// Returns nullptr if the overlapped does not match either read or write ops.

@ -2084,7 +2084,6 @@ src/core/lib/event_engine/shim.cc \
src/core/lib/event_engine/shim.h \
src/core/lib/event_engine/slice.cc \
src/core/lib/event_engine/slice_buffer.cc \
src/core/lib/event_engine/socket_notifier.h \
src/core/lib/event_engine/tcp_socket_utils.cc \
src/core/lib/event_engine/tcp_socket_utils.h \
src/core/lib/event_engine/thread_local.cc \

@ -1863,7 +1863,6 @@ src/core/lib/event_engine/shim.cc \
src/core/lib/event_engine/shim.h \
src/core/lib/event_engine/slice.cc \
src/core/lib/event_engine/slice_buffer.cc \
src/core/lib/event_engine/socket_notifier.h \
src/core/lib/event_engine/tcp_socket_utils.cc \
src/core/lib/event_engine/tcp_socket_utils.h \
src/core/lib/event_engine/thread_local.cc \

Loading…
Cancel
Save