Henrik Boström 69d23c9386 Add RTCCertificateStats cache to avoid rtc::SSLCertChain::GetStats.
Unlike the cache of the entire stats report which is time limited, this
certificate cache is valid for an unlimited amount of time, but is
cleared at ClearCachedStatsReport() which is already called on each
SLD/SRD call. Since certificates can only change by negotiation, this
cache is ensured to always be invalidated when certificates change.

Since ClearCachedStatsReport() can happen for other reasons than
certificates changing we may clear the cache more often then is
necessary, but arguably this is seldom enough that we don't have to
create a separate "ClearCertificateStats()" method. Keep it simple?

The cache specifically avoids rtc::SSLCertChain::GetStats which
trigger rtc::SSLCertificate::GetStats and rtc::Base64::EncodeFromArray.

Bug: webrtc:14458
Change-Id: I5f95a4a5eb51cc4462147270fdae7bb9fb7bc822
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276602
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38205}
2022-09-26 13:55:40 +00:00
..
2019-07-08 13:45:15 +00:00
2021-09-21 16:28:38 +00:00
2021-09-21 16:28:38 +00:00
2022-09-26 10:16:21 +00:00
2022-08-19 07:11:06 +00:00
2019-07-08 13:45:15 +00:00
2022-06-07 07:14:06 +00:00
2019-07-08 13:45:15 +00:00
2019-07-08 13:45:15 +00:00
2022-01-28 15:13:45 +00:00
2022-09-19 07:53:18 +00:00
2021-08-31 14:27:49 +00:00
2019-07-08 13:45:15 +00:00
2019-11-26 14:05:20 +00:00
2019-07-08 13:45:15 +00:00
2021-09-21 15:17:26 +00:00
2022-09-26 10:16:21 +00:00
2022-01-25 15:39:53 +00:00
2021-02-10 15:04:55 +00:00
2019-07-08 13:45:15 +00:00
2021-10-13 19:26:10 +00:00
2019-07-08 13:45:15 +00:00