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_;
76 const boost::optional<Credentials>& credentials()
const;
77 const boost::optional<std::string>& entity()
const;
78 bool allows_insecure_downgrade()
const;
79 const std::chrono::duration<float>& timeout()
const;
80 int initial_connection_attempts()
const;
81 std::chrono::duration<float> initial_connection_attempt_timeout()
const;
83 DialOptions& set_entity(boost::optional<std::string> entity);
84 DialOptions& set_credentials(boost::optional<Credentials> creds);
85 DialOptions& set_allow_insecure_downgrade(
bool allow);
86 DialOptions& set_timeout(std::chrono::duration<float> timeout);
87 DialOptions& set_initial_connection_attempts(
int attempts);
88 DialOptions& set_initial_connection_attempt_timeout(std::chrono::duration<float> timeout);
95 boost::optional<std::string> auth_entity_;
98 boost::optional<Credentials> credentials_;
102 bool allow_insecure_downgrade_ =
false;
106 std::chrono::duration<float> timeout_{20};
110 int initial_connection_attempts_ = 3;
114 std::chrono::duration<float> initial_connection_attempt_timeout_{20};
119 Options(
unsigned int refresh_interval, boost::optional<DialOptions> dial_options)
120 : refresh_interval_(std::move(refresh_interval)), dial_options_(std::move(dial_options)) {}
122 std::chrono::seconds refresh_interval()
const;
123 std::chrono::seconds check_every_interval()
const;
124 std::chrono::seconds reconnect_every_interval()
const;
131 const boost::optional<DialOptions>& dial_options()
const;
136 std::chrono::seconds refresh_interval_{0};
142 std::chrono::seconds check_every_interval_{0};
148 std::chrono::seconds reconnect_every_interval_{0};
149 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 ...