Apollo 10.0
自动驾驶开放平台
apollo::v2x::GrpcClientImpl类 参考

#include <grpc_client.h>

apollo::v2x::GrpcClientImpl 的协作图:

Public 成员函数

 GrpcClientImpl (std::shared_ptr< grpc::Channel > channel)
 
 ~GrpcClientImpl ()
 
bool InitFlag ()
 
void SendMsgToGrpc (const std::shared_ptr<::apollo::v2x::CarStatus > &msg)
 

详细描述

在文件 grpc_client.h39 行定义.

构造及析构函数说明

◆ GrpcClientImpl()

apollo::v2x::GrpcClientImpl::GrpcClientImpl ( std::shared_ptr< grpc::Channel >  channel)
explicit

在文件 grpc_client.cc39 行定义.

40 : stub_(::apollo::v2x::CarToObu::NewStub(channel)) {
41 AINFO << "GrpcClientImpl initial success";
42 car_status_tv_nsec_ = (1000000000 / FLAGS_v2x_car_status_timer_frequency / 2);
43 init_flag_ = true;
44}
#define AINFO
Definition log.h:42

◆ ~GrpcClientImpl()

apollo::v2x::GrpcClientImpl::~GrpcClientImpl ( )
inline

在文件 grpc_client.h46 行定义.

46{}

成员函数说明

◆ InitFlag()

bool apollo::v2x::GrpcClientImpl::InitFlag ( )
inline

在文件 grpc_client.h48 行定义.

48{ return init_flag_; }

◆ SendMsgToGrpc()

void apollo::v2x::GrpcClientImpl::SendMsgToGrpc ( const std::shared_ptr<::apollo::v2x::CarStatus > &  msg)

在文件 grpc_client.cc46 行定义.

46 {
47 if (!msg->has_localization()) {
48 return;
49 }
50 // set timeout
51 ClientContext context;
52 gpr_timespec timespec;
53 timespec.tv_sec = 0;
54 timespec.tv_nsec = car_status_tv_nsec_; // 80000000; // 80ms
55 timespec.clock_type = GPR_TIMESPAN;
56 context.set_deadline(timespec);
57 UpdateStatus response;
58
59 // time used statistics
60 auto start = std::chrono::steady_clock::now();
61 Status status = stub_->PushCarStatus(&context, *msg, &response);
62 auto end = std::chrono::steady_clock::now();
63 std::chrono::duration<double> time_used = end - start;
64
65 // response check: error_code 4: time out; 0: success;
66 AINFO << "stub PushCarStatus Time used: " << time_used.count() * 1000
67 << " ms";
68}

该类的文档由以下文件生成: