19 #ifndef GRPC_CORE_LIB_TRANSPORT_CONNECTIVITY_STATE_H
20 #define GRPC_CORE_LIB_TRANSPORT_CONNECTIVITY_STATE_H
27 #include "absl/status/status.h"
57 const absl::Status& status) = 0;
73 const absl::Status& status)
final;
81 std::shared_ptr<WorkSerializer> work_serializer =
nullptr)
82 : work_serializer_(std::move(work_serializer)) {}
86 const absl::Status& status) = 0;
89 std::shared_ptr<WorkSerializer> work_serializer_;
102 const absl::Status&
status = absl::Status())
130 absl::Status
status()
const {
return status_; }
135 absl::Status status_;
ClusterWatcher * watcher
Definition: cds.cc:112
Definition: connectivity_state.cc:58
Definition: connectivity_state.h:66
~AsyncConnectivityStateWatcherInterface() override=default
virtual void OnConnectivityStateChange(grpc_connectivity_state new_state, const absl::Status &status)=0
AsyncConnectivityStateWatcherInterface(std::shared_ptr< WorkSerializer > work_serializer=nullptr)
Definition: connectivity_state.h:80
void Notify(grpc_connectivity_state new_state, const absl::Status &status) final
Definition: connectivity_state.cc:93
Definition: connectivity_state.h:98
void RemoveWatcher(ConnectivityStateWatcherInterface *watcher)
Definition: connectivity_state.cc:141
ConnectivityStateTracker(const char *name, grpc_connectivity_state state=GRPC_CHANNEL_IDLE, const absl::Status &status=absl::Status())
Definition: connectivity_state.h:100
void SetState(grpc_connectivity_state state, const absl::Status &status, const char *reason)
Definition: connectivity_state.cc:150
grpc_connectivity_state state() const
Definition: connectivity_state.cc:176
~ConnectivityStateTracker()
Definition: connectivity_state.cc:103
void AddWatcher(grpc_connectivity_state initial_state, OrphanablePtr< ConnectivityStateWatcherInterface > watcher)
Definition: connectivity_state.cc:117
absl::Status status() const
Definition: connectivity_state.h:130
Definition: connectivity_state.h:51
~ConnectivityStateWatcherInterface() override=default
virtual void Notify(grpc_connectivity_state new_state, const absl::Status &status)=0
void Orphan() override
Definition: connectivity_state.h:59
Definition: orphanable.h:76
void Unref()
Definition: orphanable.h:103
grpc_connectivity_state
Connectivity state of a channel.
Definition: connectivity_state.h:27
@ GRPC_CHANNEL_IDLE
channel is idle
Definition: connectivity_state.h:29
Round Robin Policy.
Definition: backend_metric.cc:26
TraceFlag grpc_connectivity_state_trace(false, "connectivity_state")
Definition: connectivity_state.h:40
const char * ConnectivityStateName(grpc_connectivity_state state)
Definition: connectivity_state.cc:36
std::unique_ptr< T, Deleter > OrphanablePtr
Definition: orphanable.h:67