envoyproxy/envoy

Clean up proliferation of std::chrono duration types

Open

#12,384 opened on Jul 30, 2020

View on GitHub
 (3 comments) (0 reactions) (0 assignees)C++ (5,373 forks)batch import
help wantedtech debt

Repository metrics

Stars
 (27,997 stars)
PR merge metrics
 (Avg merge 8d) (378 merged PRs in 30d)

Description

https://github.com/envoyproxy/envoy/pull/12225 ensured that arbitrary std::chrono::{clock_type}::duration constructors cannot be used as it introduces differences in time representation/units between different platforms. @lizan suggested also ensuring that TimeSystem (used in test infrastructure) should provide a concrete duration type to reduce the proliferation of std::chrono duration types. Concrete duration aliases were added in that class but all usages of std::chrono duration types are not yet converted to TimeSystem::Nanosecond etc.

This issue is a placeholder to denote that std::chrono duration types should be replaced with TimeSystem aliases and introduce a format check to prevent their re-addition in the future.

Contributor guide