Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(299)

Unified Diff: blimp/client/session/assignment_source.h

Issue 1696563002: Blimp: add support for SSL connections. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: blimp/client/session/assignment_source.h
diff --git a/blimp/client/session/assignment_source.h b/blimp/client/session/assignment_source.h
index 9891d4a2d49c0d91cf1ffecfc4f2966bb9fd75ac..7533e96ef48febc1485b366c8d5269546d9d9435 100644
--- a/blimp/client/session/assignment_source.h
+++ b/blimp/client/session/assignment_source.h
@@ -6,10 +6,15 @@
#define BLIMP_CLIENT_SESSION_ASSIGNMENT_SOURCE_H_
#include <string>
+#include <vector>
#include "base/callback.h"
+#include "base/files/file_path.h"
+#include "base/threading/thread.h"
#include "blimp/client/blimp_client_export.h"
-#include "net/base/ip_endpoint.h"
+#include "net/base/address_list.h"
+#include "net/base/hash_value.h"
+#include "net/cert/x509_certificate.h"
namespace base {
class SingleThreadTaskRunner;
@@ -21,8 +26,14 @@ namespace client {
// An Assignment contains the configuration data needed for a client
// to connect to the engine.
struct BLIMP_CLIENT_EXPORT Assignment {
- net::IPEndPoint ip_endpoint;
+ Assignment();
+ ~Assignment();
Wez 2016/02/12 02:31:14 IIUC you only need these because the struct is no
Kevin M 2016/02/13 00:44:18 Correct
+
+ std::vector<net::IPAddress> ip_addresses;
+ int16_t tcp_port;
+ int16_t ssl_port;
Wez 2016/02/12 02:31:13 Can you inline initialize these? These need to be
Kevin M 2016/02/13 00:44:18 vOn 2016/02/12 02:31:13, Wez wrote:
std::string client_token;
+ scoped_refptr<net::X509Certificate> cert;
};
// AssignmentSource provides functionality to find out how a client should
@@ -43,8 +54,25 @@ class BLIMP_CLIENT_EXPORT AssignmentSource {
void GetAssignment(const AssignmentCallback& callback);
private:
+ // Reads the contents of |path| into a string.
+ // Sends the contents to |callback| on the IO thread.
Wez 2016/02/12 02:31:13 This comment looks to be incorrect? As far as I c
Kevin M 2016/02/13 00:44:18 Done.
+ void ReadFromDisk(base::FilePath path,
Wez 2016/02/12 02:31:13 |path| should be const& here
Kevin M 2016/02/13 00:44:18 Done.
+ const base::Callback<void(const std::string&)>& callback);
+
+ // Parses a certificate from PEM-encoded |cert_str| and attaches it to
+ // |assignment|. Returns the populated assignment object via |callback|.
+ void ParseCertForAssignment(Assignment assignment,
Wez 2016/02/12 02:31:14 nit: It's really strange to be passing Assignment
Kevin M 2016/02/13 00:44:18 Passing around Assignments as scoped_ptr now.
+ const AssignmentCallback& callback,
+ const std::string& cert_str);
+
scoped_refptr<base::SingleThreadTaskRunner> main_task_runner_;
+ // Thread for executing cert file reads.
+ // TODO(kmarshall): Use BlimpClientSession IO thread task runner.
+ // dtrainor@ will land a change that moves AssignmentSource into the
+ // BlimpClientSession, which manages its own IO thread.
+ base::Thread io_thread_;
+
DISALLOW_COPY_AND_ASSIGN(AssignmentSource);
};

Powered by Google App Engine
This is Rietveld 408576698