Source release 17.1.0
This commit is contained in:
@@ -1,12 +1,13 @@
|
||||
// Copyright 2018 Google LLC. All Rights Reserved. This file and proprietary
|
||||
// source code may only be used and distributed under the Widevine Master
|
||||
// License Agreement.
|
||||
// source code may only be used and distributed under the Widevine License
|
||||
// Agreement.
|
||||
|
||||
#ifndef CDM_TEST_HTTP_SOCKET_H_
|
||||
#define CDM_TEST_HTTP_SOCKET_H_
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#include <ctime>
|
||||
#include <string>
|
||||
|
||||
#include <gtest/gtest_prod.h>
|
||||
@@ -23,7 +24,7 @@ class HttpSocket {
|
||||
explicit HttpSocket(const std::string& url);
|
||||
~HttpSocket();
|
||||
|
||||
bool Connect(int timeout_in_ms);
|
||||
bool ConnectAndLogErrors(int timeout_in_ms);
|
||||
void CloseSocket();
|
||||
|
||||
const std::string& scheme() const { return scheme_; }
|
||||
@@ -32,13 +33,25 @@ class HttpSocket {
|
||||
int port() const { return atoi(port_.c_str()); }
|
||||
const std::string& resource_path() const { return resource_path_; }
|
||||
|
||||
int Read(char* data, int len, int timeout_in_ms);
|
||||
int Write(const char* data, int len, int timeout_in_ms);
|
||||
int ReadAndLogErrors(char* data, int len, int timeout_in_ms);
|
||||
int WriteAndLogErrors(const char* data, int len, int timeout_in_ms);
|
||||
|
||||
private:
|
||||
static bool ParseUrl(const std::string& url, std::string* scheme,
|
||||
bool* secure_connect, std::string* domain_name,
|
||||
std::string* port, std::string* path);
|
||||
// The following three functions do the work without logging errors.
|
||||
bool Connect(int timeout_in_ms);
|
||||
int Read(char* data, int len, int timeout_in_ms);
|
||||
int Write(const char* data, int len, int timeout_in_ms);
|
||||
// Log times with a note as an error.
|
||||
void LogTime(const char* note, const std::time_t& start,
|
||||
const std::time_t& finish);
|
||||
// Wait for a socket to be ready for reading or writing.
|
||||
// Establishing a connection counts as "ready for write".
|
||||
// Returns false on select error or timeout.
|
||||
// Returns true when the socket is ready.
|
||||
bool Wait(bool for_read, int timeout_in_ms);
|
||||
FRIEND_TEST(HttpSocketTest, ParseUrlTest);
|
||||
|
||||
std::string scheme_;
|
||||
@@ -52,6 +65,10 @@ class HttpSocket {
|
||||
SSL* ssl_;
|
||||
SSL_CTX* ssl_ctx_;
|
||||
|
||||
// When the socket was created. Logged on error to help debug flaky
|
||||
// tests. e.g. b/186031735
|
||||
std::time_t create_time_;
|
||||
|
||||
CORE_DISALLOW_COPY_AND_ASSIGN(HttpSocket);
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user