Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

doc(bigtable): create page for configuration options #10197

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions google/cloud/bigtable/doc/bigtable-options.dox
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
/*!
@defgroup bigtable-options Bigtable Client Library Configuration Options

The Bigtable client library uses the same mechanism as all other C++ client
libraries for configuration. As usual for the C++ client libraries, it adds a
number of unique options only applicable for the Bigtable library.

@see @ref options - for an overview of client library configuration.
*/
24 changes: 21 additions & 3 deletions google/cloud/bigtable/options.h
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,8 @@ GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN
*
* @see https://cloud.google.com/bigtable/docs/replication-overview#app-profiles
* for how app profiles are used to achieve replication.
*
* @ingroup bigtable-options
*/
struct AppProfileIdOption {
using Type = std::string;
Expand Down Expand Up @@ -109,6 +111,8 @@ struct InstanceAdminEndpointOption {
* Minimum time in ms to refresh connections.
*
* The server will not disconnect idle connections before this time.
*
* @ingroup bigtable-options
*/
struct MinConnectionRefreshOption {
using Type = std::chrono::milliseconds;
Expand All @@ -123,6 +127,8 @@ struct MinConnectionRefreshOption {
*
* @note If this value is less than the value of `MinConnectionRefreshOption`,
* it will be set to the value of `MinConnectionRefreshOption`.
*
* @ingroup bigtable-options
*/
struct MaxConnectionRefreshOption {
using Type = std::chrono::milliseconds;
Expand All @@ -145,17 +151,29 @@ using DataLimitedErrorCountRetryPolicy =
::google::cloud::internal::LimitedErrorCountRetryPolicy<
bigtable::internal::SafeGrpcRetry>;

/// Option to configure the retry policy used by `Table`.
/**
* Option to configure the retry policy used by `Table`.
*
* @ingroup bigtable-options
*/
struct DataRetryPolicyOption {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

every generated service has an equivalent of this option too. Will they all get these *-options.dox?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would like to, yes, but I did the hand-crafted libraries first.

using Type = std::shared_ptr<DataRetryPolicy>;
};

/// Option to configure the backoff policy used by `Table`.
/**
* Option to configure the backoff policy used by `Table`.
*
* @ingroup bigtable-options
*/
struct DataBackoffPolicyOption {
using Type = std::shared_ptr<BackoffPolicy>;
};

/// Option to configure the idempotency policy used by `Table`.
/**
* Option to configure the idempotency policy used by `Table`.
*
* @ingroup bigtable-options
*/
struct IdempotentMutationPolicyOption {
using Type = std::shared_ptr<bigtable::IdempotentMutationPolicy>;
};
Expand Down