GRPC Core  18.0.0
Data Structures | Public Types | Public Member Functions | Static Public Attributes
grpc_core::XdsApi Class Reference

#include <xds_api.h>

Data Structures

struct  AdsParseResult
 
struct  CdsResourceData
 
struct  CdsUpdate
 
struct  ClusterLoadReport
 
struct  CommonTlsContext
 
struct  DownstreamTlsContext
 
struct  Duration
 
struct  EdsResourceData
 
struct  EdsUpdate
 
struct  LdsResourceData
 
struct  LdsUpdate
 
struct  RdsResourceData
 
struct  RdsUpdate
 
struct  ResourceMetadata
 
struct  ResourceTypeMetadata
 
struct  Route
 

Public Types

using TypedPerFilterConfig = std::map< std::string, XdsHttpFilterImpl::FilterConfig >
 
using LdsUpdateMap = std::map< std::string, LdsResourceData >
 
using RdsUpdateMap = std::map< std::string, RdsResourceData >
 
using CdsUpdateMap = std::map< std::string, CdsResourceData >
 
using EdsUpdateMap = std::map< std::string, EdsResourceData >
 
using ClusterLoadReportMap = std::map< std::pair< std::string, std::string >, ClusterLoadReport >
 
using ResourceMetadataMap = std::map< absl::string_view, const ResourceMetadata * >
 
using ResourceTypeMetadataMap = std::map< absl::string_view, ResourceTypeMetadata >
 

Public Member Functions

 XdsApi (XdsClient *client, TraceFlag *tracer, const XdsBootstrap::Node *node)
 
grpc_slice CreateAdsRequest (const XdsBootstrap::XdsServer &server, const std::string &type_url, const std::set< absl::string_view > &resource_names, const std::string &version, const std::string &nonce, grpc_error_handle error, bool populate_node)
 
AdsParseResult ParseAdsResponse (const XdsBootstrap::XdsServer &server, const grpc_slice &encoded_response, const std::set< absl::string_view > &expected_listener_names, const std::set< absl::string_view > &expected_route_configuration_names, const std::set< absl::string_view > &expected_cluster_names, const std::set< absl::string_view > &expected_eds_service_names)
 
grpc_slice CreateLrsInitialRequest (const XdsBootstrap::XdsServer &server)
 
grpc_slice CreateLrsRequest (ClusterLoadReportMap cluster_load_report_map)
 
grpc_error_handle ParseLrsResponse (const grpc_slice &encoded_response, bool *send_all_clusters, std::set< std::string > *cluster_names, grpc_millis *load_reporting_interval)
 
std::string AssembleClientConfig (const ResourceTypeMetadataMap &resource_type_metadata_map)
 

Static Public Attributes

static const char * kLdsTypeUrl
 
static const char * kRdsTypeUrl
 
static const char * kCdsTypeUrl
 
static const char * kEdsTypeUrl
 

Member Typedef Documentation

◆ CdsUpdateMap

using grpc_core::XdsApi::CdsUpdateMap = std::map<std::string , CdsResourceData>

◆ ClusterLoadReportMap

using grpc_core::XdsApi::ClusterLoadReportMap = std::map< std::pair<std::string , std::string >, ClusterLoadReport>

◆ EdsUpdateMap

using grpc_core::XdsApi::EdsUpdateMap = std::map<std::string , EdsResourceData>

◆ LdsUpdateMap

using grpc_core::XdsApi::LdsUpdateMap = std::map<std::string , LdsResourceData>

◆ RdsUpdateMap

using grpc_core::XdsApi::RdsUpdateMap = std::map<std::string , RdsResourceData>

◆ ResourceMetadataMap

using grpc_core::XdsApi::ResourceMetadataMap = std::map<absl::string_view , const ResourceMetadata*>

◆ ResourceTypeMetadataMap

◆ TypedPerFilterConfig

Constructor & Destructor Documentation

◆ XdsApi()

grpc_core::XdsApi::XdsApi ( XdsClient client,
TraceFlag tracer,
const XdsBootstrap::Node node 
)

Member Function Documentation

◆ AssembleClientConfig()

std::string grpc_core::XdsApi::AssembleClientConfig ( const ResourceTypeMetadataMap resource_type_metadata_map)

◆ CreateAdsRequest()

grpc_slice grpc_core::XdsApi::CreateAdsRequest ( const XdsBootstrap::XdsServer server,
const std::string &  type_url,
const std::set< absl::string_view > &  resource_names,
const std::string &  version,
const std::string &  nonce,
grpc_error_handle  error,
bool  populate_node 
)

◆ CreateLrsInitialRequest()

grpc_slice grpc_core::XdsApi::CreateLrsInitialRequest ( const XdsBootstrap::XdsServer server)

◆ CreateLrsRequest()

grpc_slice grpc_core::XdsApi::CreateLrsRequest ( ClusterLoadReportMap  cluster_load_report_map)

◆ ParseAdsResponse()

XdsApi::AdsParseResult grpc_core::XdsApi::ParseAdsResponse ( const XdsBootstrap::XdsServer server,
const grpc_slice encoded_response,
const std::set< absl::string_view > &  expected_listener_names,
const std::set< absl::string_view > &  expected_route_configuration_names,
const std::set< absl::string_view > &  expected_cluster_names,
const std::set< absl::string_view > &  expected_eds_service_names 
)

◆ ParseLrsResponse()

grpc_error_handle grpc_core::XdsApi::ParseLrsResponse ( const grpc_slice encoded_response,
bool *  send_all_clusters,
std::set< std::string > *  cluster_names,
grpc_millis load_reporting_interval 
)

Field Documentation

◆ kCdsTypeUrl

const char * grpc_core::XdsApi::kCdsTypeUrl
static
Initial value:
=
"type.googleapis.com/envoy.config.cluster.v3.Cluster"

◆ kEdsTypeUrl

const char * grpc_core::XdsApi::kEdsTypeUrl
static
Initial value:
=
"type.googleapis.com/envoy.config.endpoint.v3.ClusterLoadAssignment"

◆ kLdsTypeUrl

const char * grpc_core::XdsApi::kLdsTypeUrl
static
Initial value:
=
"type.googleapis.com/envoy.config.listener.v3.Listener"

◆ kRdsTypeUrl

const char * grpc_core::XdsApi::kRdsTypeUrl
static
Initial value:
=
"type.googleapis.com/envoy.config.route.v3.RouteConfiguration"

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