Go to the documentation of this file.
14 #ifndef GRPC_EVENT_ENGINE_EVENT_ENGINE_H
15 #define GRPC_EVENT_ENGINE_EVENT_ENGINE_H
22 #include "absl/status/status.h"
23 #include "absl/status/statusor.h"
32 namespace experimental {
80 using Duration = std::chrono::duration<int64_t, std::nano>;
96 virtual void Run() = 0;
125 const struct sockaddr*
address()
const;
126 socklen_t
size()
const;
261 std::unique_ptr<MemoryAllocatorFactory> memory_allocator_factory) = 0;
443 #endif // GRPC_EVENT_ENGINE_EVENT_ENGINE_H
virtual LookupTaskHandle LookupTXT(LookupTXTCallback on_resolve, absl::string_view name, Duration timeout)=0
virtual absl::Status Start()=0
std::function< void(std::unique_ptr< Endpoint >, MemoryAllocator memory_allocator)> AcceptCallback
Called when the listener has accepted a new client connection.
void SetDefaultEventEngineFactory(std::function< std::unique_ptr< EventEngine >()> factory)
virtual ~EventEngine()=default
virtual void Run(Closure *closure)=0
virtual LookupTaskHandle LookupHostname(LookupHostnameCallback on_resolve, absl::string_view name, absl::string_view default_port, Duration timeout)=0
std::function< void(absl::StatusOr< std::vector< SRVRecord > >)> LookupSRVCallback
Called with a collection of SRV records.
virtual const ResolvedAddress & GetLocalAddress() const =0
virtual bool Cancel(TaskHandle handle)=0
ResolvedAddress()=default
virtual TaskHandle RunAfter(Duration when, Closure *closure)=0
Closure & operator=(const Closure &)=delete
virtual void Write(std::function< void(absl::Status)> on_writable, SliceBuffer *data, const WriteArgs *args)=0
std::function< void(absl::StatusOr< std::vector< ResolvedAddress > >)> LookupHostnameCallback
static grpc_closure on_read
std::function< void(absl::StatusOr< std::string >)> LookupTXTCallback
Called with the result of a TXT record lookup.
virtual absl::StatusOr< int > Bind(const ResolvedAddress &addr)=0
Provides asynchronous resolution.
Task handle for DNS Resolution requests.
virtual ~Endpoint()=default
void on_connect(uv_connect_t *req, int status)
virtual ~Closure()=default
virtual const ResolvedAddress & GetPeerAddress() const =0
std::function< void(absl::StatusOr< std::unique_ptr< Endpoint > >)> OnConnectCallback
virtual std::unique_ptr< DNSResolver > GetDNSResolver(const DNSResolver::ResolverOptions &options)=0
virtual bool IsWorkerThread()=0
const struct sockaddr * address() const
char address_[MAX_SIZE_BYTES]
static void on_accept(void *arg, grpc_endpoint *endpoint, grpc_pollset *, grpc_tcp_server_acceptor *acceptor)
virtual bool CancelLookup(LookupTaskHandle handle)=0
virtual LookupTaskHandle LookupSRV(LookupSRVCallback on_resolve, absl::string_view name, Duration timeout)=0
virtual ~DNSResolver()=default
virtual ConnectionHandle Connect(OnConnectCallback on_connect, const ResolvedAddress &addr, const EndpointConfig &args, MemoryAllocator memory_allocator, Duration timeout)=0
static constexpr socklen_t MAX_SIZE_BYTES
std::unique_ptr< EventEngine > CreateEventEngine()
Create an EventEngine using the default factory.
virtual bool CancelConnect(ConnectionHandle handle)=0
virtual ~Listener()=default
Optional configuration for DNSResolvers.
virtual void Read(std::function< void(absl::Status)> on_read, SliceBuffer *buffer, const ReadArgs *args)=0
virtual absl::StatusOr< std::unique_ptr< Listener > > CreateListener(Listener::AcceptCallback on_accept, std::function< void(absl::Status)> on_shutdown, const EndpointConfig &config, std::unique_ptr< MemoryAllocatorFactory > memory_allocator_factory)=0
grpc
Author(s):
autogenerated on Thu Mar 13 2025 02:59:16