#include <resolver.h>

Classes | |
| struct | Result |
| Results returned by the resolver. More... | |
| class | ResultHandler |
Public Member Functions | |
| Resolver & | operator= (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 | |
| InternallyRefCounted & | operator= (const InternallyRefCounted &)=delete |
Public Member Functions inherited from grpc_core::Orphanable | |
| Orphanable & | operator= (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< Resolver > | Ref () GRPC_MUST_USE_RESULT |
| RefCountedPtr< Resolver > | Ref (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 () |
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.
|
overridedefault |
|
protected |
Definition at line 37 of file resolver.cc.
|
inlineoverridevirtual |
Implements grpc_core::Orphanable.
Definition at line 124 of file resolver/resolver.h.
|
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.
|
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.
|
protectedpure virtual |
Shuts down the resolver.
Implemented in grpc_core::FakeResolver, and grpc_core::PollingResolver.
|
pure virtual |
Starts resolving.
Implemented in grpc_core::FakeResolver, and grpc_core::PollingResolver.