16 ViamChannel(std::shared_ptr<GrpcChannel> channel,
const char* path,
void* runtime);
19 explicit ViamChannel(std::shared_ptr<GrpcChannel> channel);
33 static ViamChannel dial(
const char* uri,
const boost::optional<DialOptions>& options);
44 const std::shared_ptr<GrpcChannel>& channel()
const;
48 const char* get_channel_addr()
const;
54 std::shared_ptr<GrpcChannel> channel_;
56 std::unique_ptr<impl> pimpl_;
74 const boost::optional<Credentials>& credentials()
const;
75 const boost::optional<std::string>& entity()
const;
76 bool allows_insecure_downgrade()
const;
77 const std::chrono::duration<float>& timeout()
const;
78 int initial_connection_attempts()
const;
79 std::chrono::duration<float> initial_connection_attempt_timeout()
const;
81 DialOptions& set_entity(boost::optional<std::string> entity);
82 DialOptions& set_credentials(boost::optional<Credentials> creds);
83 DialOptions& set_allow_insecure_downgrade(
bool allow);
84 DialOptions& set_timeout(std::chrono::duration<float> timeout);
85 DialOptions& set_initial_connection_attempts(
int attempts);
86 DialOptions& set_initial_connection_attempt_timeout(std::chrono::duration<float> timeout);
93 boost::optional<std::string> auth_entity_;
96 boost::optional<Credentials> credentials_;
100 bool allow_insecure_downgrade_ =
false;
104 std::chrono::duration<float> timeout_{20};
108 int initial_connection_attempts_ = 3;
112 std::chrono::duration<float> initial_connection_attempt_timeout_{20};
117 Options(
unsigned int refresh_interval, boost::optional<DialOptions> dial_options)
118 : refresh_interval_(std::move(refresh_interval)), dial_options_(std::move(dial_options)) {}
120 std::chrono::seconds refresh_interval()
const;
121 std::chrono::seconds check_every_interval()
const;
122 std::chrono::seconds reconnect_every_interval()
const;
129 const boost::optional<DialOptions>& dial_options()
const;
134 std::chrono::seconds refresh_interval_{0};
140 std::chrono::seconds check_every_interval_{0};
146 std::chrono::seconds reconnect_every_interval_{0};
147 boost::optional<DialOptions> dial_options_;
static ViamChannel dial(const char *uri, const boost::optional< DialOptions > &options)
Connects to a robot at the given URI address, using the provided dial options (or default options is ...