Classes | Public Member Functions | Protected Member Functions | List of all members
grpc_core::Resolver Class Referenceabstract

#include <resolver.h>

Inheritance diagram for grpc_core::Resolver:
Inheritance graph
[legend]

Classes

struct  Result
 Results returned by the resolver. More...
 
class  ResultHandler
 

Public Member Functions

Resolveroperator= (const Resolver &)=delete
 
void Orphan () override
 
virtual void RequestReresolutionLocked ()
 
virtual void ResetBackoffLocked ()
 
 Resolver (const Resolver &)=delete
 
virtual void StartLocked ()=0
 Starts resolving. More...
 
 ~Resolver () override=default
 
- Public Member Functions inherited from grpc_core::InternallyRefCounted< Resolver >
 InternallyRefCounted (const InternallyRefCounted &)=delete
 
InternallyRefCountedoperator= (const InternallyRefCounted &)=delete
 
- Public Member Functions inherited from grpc_core::Orphanable
Orphanableoperator= (const Orphanable &)=delete
 
 Orphanable (const Orphanable &)=delete
 

Protected Member Functions

 Resolver ()
 
virtual void ShutdownLocked ()=0
 Shuts down the resolver. More...
 
- Protected Member Functions inherited from grpc_core::InternallyRefCounted< Resolver >
 InternallyRefCounted (const char *trace=nullptr, intptr_t initial_refcount=1)
 
RefCountedPtr< ResolverRef () GRPC_MUST_USE_RESULT
 
RefCountedPtr< ResolverRef (const DebugLocation &location, const char *reason) GRPC_MUST_USE_RESULT
 
void Unref ()
 
void Unref (const DebugLocation &location, const char *reason)
 
 ~InternallyRefCounted () override=default
 
- Protected Member Functions inherited from grpc_core::Orphanable
 Orphanable ()
 
virtual ~Orphanable ()
 

Detailed Description

Interface for name resolution.

This interface is designed to support both push-based and pull-based mechanisms. A push-based mechanism is one where the resolver will subscribe to updates for a given name, and the name service will proactively send new data to the resolver whenever the data associated with the name changes. A pull-based mechanism is one where the resolver needs to query the name service again to get updated information (e.g., DNS).

Note: All methods with a "Locked" suffix must be called from the work_serializer passed to the constructor.

Definition at line 53 of file resolver/resolver.h.

Constructor & Destructor Documentation

◆ Resolver() [1/2]

grpc_core::Resolver::Resolver ( const Resolver )
delete

◆ ~Resolver()

grpc_core::Resolver::~Resolver ( )
overridedefault

◆ Resolver() [2/2]

grpc_core::Resolver::Resolver ( )
protected

Definition at line 37 of file resolver.cc.

Member Function Documentation

◆ operator=()

Resolver& grpc_core::Resolver::operator= ( const Resolver )
delete

◆ Orphan()

void grpc_core::Resolver::Orphan ( )
inlineoverridevirtual

Implements grpc_core::Orphanable.

Definition at line 124 of file resolver/resolver.h.

◆ RequestReresolutionLocked()

virtual void grpc_core::Resolver::RequestReresolutionLocked ( )
inlinevirtual

Asks the resolver to obtain an updated resolver result, if applicable.

This is useful for pull-based implementations to decide when to re-resolve. However, the implementation is not required to re-resolve immediately upon receiving this call; it may instead elect to delay based on some configured minimum time between queries, to avoid hammering the name service with queries.

For push-based implementations, this may be a no-op.

Note: Implementations must not invoke any method on the ResultHandler from within this call.

Reimplemented in grpc_core::FakeResolver, and grpc_core::PollingResolver.

Definition at line 116 of file resolver/resolver.h.

◆ ResetBackoffLocked()

virtual void grpc_core::Resolver::ResetBackoffLocked ( )
inlinevirtual

Resets the re-resolution backoff, if any. This needs to be implemented only by pull-based implementations; for push-based implementations, it will be a no-op.

Reimplemented in grpc_core::PollingResolver.

Definition at line 121 of file resolver/resolver.h.

◆ ShutdownLocked()

virtual void grpc_core::Resolver::ShutdownLocked ( )
protectedpure virtual

Shuts down the resolver.

Implemented in grpc_core::FakeResolver, and grpc_core::PollingResolver.

◆ StartLocked()

virtual void grpc_core::Resolver::StartLocked ( )
pure virtual

Starts resolving.

Implemented in grpc_core::FakeResolver, and grpc_core::PollingResolver.


The documentation for this class was generated from the following files:


grpc
Author(s):
autogenerated on Fri May 16 2025 03:03:37