Add timestamp when socket times out

Merge from Widevine repo of http://go/wvgerrit/123407
and http://go/wvgerrit/130983

This should help us debug flaky tests.

Bug: 186031735
Change-Id: I5229176c80dad5875b6ef01ea167e4e26d48506d
This commit is contained in:
Fred Gylys-Colwell
2021-10-13 22:06:56 +00:00
parent c7e237eb00
commit 1a93b9f1cc
4 changed files with 114 additions and 50 deletions

View File

@@ -87,7 +87,7 @@ UrlRequest::~UrlRequest() {}
void UrlRequest::Reconnect() {
for (uint32_t i = 0; i < kMaxConnectAttempts && !is_connected_; ++i) {
socket_.CloseSocket();
if (socket_.Connect(kConnectTimeoutMs)) {
if (socket_.ConnectAndLogErrors(kConnectTimeoutMs)) {
is_connected_ = true;
} else {
LOGE("Failed to connect: url = %s, port = %d, attempt = %u",
@@ -104,8 +104,8 @@ bool UrlRequest::GetResponse(std::string* message) {
// non-blocking mode.
while (true) {
char read_buffer[kReadBufferSize];
const int bytes =
socket_.Read(read_buffer, sizeof(read_buffer), kReadTimeoutMs);
const int bytes = socket_.ReadAndLogErrors(read_buffer, sizeof(read_buffer),
kReadTimeoutMs);
if (bytes > 0) {
response.append(read_buffer, bytes);
} else if (bytes < 0) {
@@ -203,8 +203,8 @@ bool UrlRequest::PostRequestWithPath(const std::string& path,
request.append(data);
const int ret =
socket_.Write(request.c_str(), request.size(), kWriteTimeoutMs);
const int ret = socket_.WriteAndLogErrors(request.c_str(), request.size(),
kWriteTimeoutMs);
LOGV("HTTP request: (%zu): %s", request.size(), b2a_hex(request).c_str());
return ret != -1;
}