Skip to content

Commit eafb0bf

Browse files
authored
Adding an extra constructor with explicit chrono object to eliminate the confusion in time units. (#643)
1 parent a4e66b3 commit eafb0bf

File tree

5 files changed

+71
-13
lines changed

5 files changed

+71
-13
lines changed

src/CachingEndpointOnlyCallbackProvider.cpp

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,28 @@ CachingEndpointOnlyCallbackProvider::CachingEndpointOnlyCallbackProvider(
2020
const std::string &user_agent_name,
2121
const std::string &custom_user_agent,
2222
const std::string &cert_path,
23-
uint64_t cache_update_period) :
24-
cache_update_period_(cache_update_period),
25-
DefaultCallbackProvider(
23+
std::chrono::duration<uint64_t> caching_update_period) : CachingEndpointOnlyCallbackProvider(
24+
move(client_callback_provider),
25+
move(stream_callback_provider),
26+
move(credentials_provider),
27+
region,
28+
control_plane_uri,
29+
user_agent_name,
30+
custom_user_agent,
31+
cert_path,
32+
caching_update_period.count() * HUNDREDS_OF_NANOS_IN_A_SECOND) {
33+
}
34+
35+
CachingEndpointOnlyCallbackProvider::CachingEndpointOnlyCallbackProvider(
36+
unique_ptr <ClientCallbackProvider> client_callback_provider,
37+
unique_ptr <StreamCallbackProvider> stream_callback_provider,
38+
unique_ptr <CredentialProvider> credentials_provider,
39+
const string& region,
40+
const string& control_plane_uri,
41+
const std::string &user_agent_name,
42+
const std::string &custom_user_agent,
43+
const std::string &cert_path,
44+
uint64_t cache_update_period) : DefaultCallbackProvider(
2645
move(client_callback_provider),
2746
move(stream_callback_provider),
2847
move(credentials_provider),

src/CachingEndpointOnlyCallbackProvider.h

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,19 @@
2121

2222
namespace com { namespace amazonaws { namespace kinesis { namespace video {
2323

24-
const uint64_t DEFAULT_CACHE_UPDATE_PERIOD_IN_SECONDS = 2400;
25-
2624
class CachingEndpointOnlyCallbackProvider : public DefaultCallbackProvider {
2725
public:
26+
explicit CachingEndpointOnlyCallbackProvider(
27+
std::unique_ptr <ClientCallbackProvider> client_callback_provider,
28+
std::unique_ptr <StreamCallbackProvider> stream_callback_provider,
29+
std::unique_ptr <CredentialProvider> credentials_provider,
30+
const std::string &region,
31+
const std::string &control_plane_uri,
32+
const std::string &user_agent_name,
33+
const std::string &custom_user_agent,
34+
const std::string &cert_path,
35+
uint64_t cache_update_period);
36+
2837
explicit CachingEndpointOnlyCallbackProvider(
2938
std::unique_ptr <ClientCallbackProvider> client_callback_provider,
3039
std::unique_ptr <StreamCallbackProvider> stream_callback_provider,
@@ -35,14 +44,9 @@ class CachingEndpointOnlyCallbackProvider : public DefaultCallbackProvider {
3544
const std::string &user_agent_name = "",
3645
const std::string &custom_user_agent = "",
3746
const std::string &cert_path = "",
38-
uint64_t cache_update_period = DEFAULT_CACHE_UPDATE_PERIOD_IN_SECONDS);
47+
std::chrono::duration<uint64_t> caching_update_period = std::chrono::seconds(DEFAULT_ENDPOINT_CACHE_UPDATE_PERIOD / HUNDREDS_OF_NANOS_IN_A_SECOND));
3948

4049
virtual ~CachingEndpointOnlyCallbackProvider();
41-
42-
protected:
43-
44-
// Cache update period in seconds
45-
uint64_t cache_update_period_;
4650
};
4751

4852
} // namespace video

src/DefaultCallbackProvider.cpp

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,29 @@ VOID DefaultCallbackProvider::logPrintHandler(UINT32 level, PCHAR tag, PCHAR fmt
323323
va_end(valist);
324324
}
325325

326+
DefaultCallbackProvider::DefaultCallbackProvider(
327+
unique_ptr <ClientCallbackProvider> client_callback_provider,
328+
unique_ptr <StreamCallbackProvider> stream_callback_provider,
329+
unique_ptr <CredentialProvider> credentials_provider,
330+
const string& region,
331+
const string& control_plane_uri,
332+
const std::string &user_agent_name,
333+
const std::string &custom_user_agent,
334+
const std::string &cert_path,
335+
bool is_caching_endpoint,
336+
std::chrono::duration<uint64_t> caching_update_period) : DefaultCallbackProvider (
337+
move(client_callback_provider),
338+
move(stream_callback_provider),
339+
move(credentials_provider),
340+
region,
341+
control_plane_uri,
342+
user_agent_name,
343+
custom_user_agent,
344+
cert_path,
345+
is_caching_endpoint,
346+
caching_update_period.count() * HUNDREDS_OF_NANOS_IN_A_SECOND) {
347+
}
348+
326349
DefaultCallbackProvider::DefaultCallbackProvider(
327350
unique_ptr <ClientCallbackProvider> client_callback_provider,
328351
unique_ptr <StreamCallbackProvider> stream_callback_provider,

src/DefaultCallbackProvider.h

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,18 @@ namespace com { namespace amazonaws { namespace kinesis { namespace video {
2424
class DefaultCallbackProvider : public CallbackProvider {
2525
public:
2626
using callback_t = ClientCallbacks;
27+
explicit DefaultCallbackProvider(
28+
std::unique_ptr <ClientCallbackProvider> client_callback_provider,
29+
std::unique_ptr <StreamCallbackProvider> stream_callback_provider,
30+
std::unique_ptr <CredentialProvider> credentials_provider,
31+
const std::string &region,
32+
const std::string &control_plane_uri,
33+
const std::string &user_agent_name,
34+
const std::string &custom_user_agent,
35+
const std::string &cert_path,
36+
bool is_caching_endpoint,
37+
uint64_t caching_update_period);
38+
2739
explicit DefaultCallbackProvider(
2840
std::unique_ptr <ClientCallbackProvider> client_callback_provider,
2941
std::unique_ptr <StreamCallbackProvider> stream_callback_provider,
@@ -34,7 +46,7 @@ class DefaultCallbackProvider : public CallbackProvider {
3446
const std::string &custom_user_agent = "",
3547
const std::string &cert_path = "",
3648
bool is_caching_endpoint = false,
37-
uint64_t caching_update_period = DEFAULT_ENDPOINT_CACHE_UPDATE_PERIOD);
49+
std::chrono::duration<uint64_t> caching_update_period = std::chrono::seconds(DEFAULT_ENDPOINT_CACHE_UPDATE_PERIOD / HUNDREDS_OF_NANOS_IN_A_SECOND));
3850

3951
virtual ~DefaultCallbackProvider();
4052

tst/ProducerTestFixture.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,7 @@ class ProducerTestBase : public ::testing::Test {
328328
"",
329329
"",
330330
caCertPath_,
331-
DEFAULT_CACHE_UPDATE_PERIOD_IN_SECONDS));
331+
DEFAULT_ENDPOINT_CACHE_UPDATE_PERIOD));
332332
} else {
333333
defaultCallbackProvider.reset(new DefaultCallbackProvider(
334334
move(client_callback_provider_),

0 commit comments

Comments
 (0)