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

Side by Side Diff: remoting/host/heartbeat_sender.cc

Issue 1864213002: Convert //remoting to use std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Mac IWYU Created 4 years, 8 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 unified diff | Download patch
« no previous file with comments | « remoting/host/heartbeat_sender.h ('k') | remoting/host/heartbeat_sender_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "remoting/host/heartbeat_sender.h" 5 #include "remoting/host/heartbeat_sender.h"
6 6
7 #include <math.h> 7 #include <math.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 double delay = pow(2.0, sequence_id_recent_set_num_) * 298 double delay = pow(2.0, sequence_id_recent_set_num_) *
299 (1 + base::RandDouble()) * kResendDelayMs; 299 (1 + base::RandDouble()) * kResendDelayMs;
300 if (delay <= interval_ms_) { 300 if (delay <= interval_ms_) {
301 timer_resend_.Start(FROM_HERE, base::TimeDelta::FromMilliseconds(delay), 301 timer_resend_.Start(FROM_HERE, base::TimeDelta::FromMilliseconds(delay),
302 this, &HeartbeatSender::ResendStanza); 302 this, &HeartbeatSender::ResendStanza);
303 } 303 }
304 } 304 }
305 sequence_id_was_set_ = true; 305 sequence_id_was_set_ = true;
306 } 306 }
307 307
308 scoped_ptr<XmlElement> HeartbeatSender::CreateHeartbeatMessage() { 308 std::unique_ptr<XmlElement> HeartbeatSender::CreateHeartbeatMessage() {
309 // Create heartbeat stanza. 309 // Create heartbeat stanza.
310 scoped_ptr<XmlElement> heartbeat(new XmlElement( 310 std::unique_ptr<XmlElement> heartbeat(
311 QName(kChromotingXmlNamespace, kHeartbeatQueryTag))); 311 new XmlElement(QName(kChromotingXmlNamespace, kHeartbeatQueryTag)));
312 heartbeat->AddAttr(QName(kChromotingXmlNamespace, kHostIdAttr), host_id_); 312 heartbeat->AddAttr(QName(kChromotingXmlNamespace, kHostIdAttr), host_id_);
313 heartbeat->AddAttr(QName(kChromotingXmlNamespace, kSequenceIdAttr), 313 heartbeat->AddAttr(QName(kChromotingXmlNamespace, kSequenceIdAttr),
314 base::IntToString(sequence_id_)); 314 base::IntToString(sequence_id_));
315 if (!host_offline_reason_.empty()) { 315 if (!host_offline_reason_.empty()) {
316 heartbeat->AddAttr( 316 heartbeat->AddAttr(
317 QName(kChromotingXmlNamespace, kHostOfflineReasonAttr), 317 QName(kChromotingXmlNamespace, kHostOfflineReasonAttr),
318 host_offline_reason_); 318 host_offline_reason_);
319 } 319 }
320 heartbeat->AddElement(CreateSignature().release()); 320 heartbeat->AddElement(CreateSignature().release());
321 // Append host version. 321 // Append host version.
322 scoped_ptr<XmlElement> version_tag(new XmlElement( 322 std::unique_ptr<XmlElement> version_tag(
323 QName(kChromotingXmlNamespace, kHostVersionTag))); 323 new XmlElement(QName(kChromotingXmlNamespace, kHostVersionTag)));
324 version_tag->AddText(STRINGIZE(VERSION)); 324 version_tag->AddText(STRINGIZE(VERSION));
325 heartbeat->AddElement(version_tag.release()); 325 heartbeat->AddElement(version_tag.release());
326 // If we have not recorded a heartbeat success, continue sending host OS info. 326 // If we have not recorded a heartbeat success, continue sending host OS info.
327 if (!heartbeat_succeeded_) { 327 if (!heartbeat_succeeded_) {
328 // Append host OS name. 328 // Append host OS name.
329 scoped_ptr<XmlElement> os_name_tag(new XmlElement( 329 std::unique_ptr<XmlElement> os_name_tag(new XmlElement(
330 QName(kChromotingXmlNamespace, kHostOperatingSystemNameTag))); 330 QName(kChromotingXmlNamespace, kHostOperatingSystemNameTag)));
331 os_name_tag->AddText(GetHostOperatingSystemName()); 331 os_name_tag->AddText(GetHostOperatingSystemName());
332 heartbeat->AddElement(os_name_tag.release()); 332 heartbeat->AddElement(os_name_tag.release());
333 // Append host OS version. 333 // Append host OS version.
334 scoped_ptr<XmlElement> os_version_tag(new XmlElement( 334 std::unique_ptr<XmlElement> os_version_tag(new XmlElement(
335 QName(kChromotingXmlNamespace, kHostOperatingSystemVersionTag))); 335 QName(kChromotingXmlNamespace, kHostOperatingSystemVersionTag)));
336 os_version_tag->AddText(GetHostOperatingSystemVersion()); 336 os_version_tag->AddText(GetHostOperatingSystemVersion());
337 heartbeat->AddElement(os_version_tag.release()); 337 heartbeat->AddElement(os_version_tag.release());
338 } 338 }
339 // Append log message (which isn't signed). 339 // Append log message (which isn't signed).
340 scoped_ptr<XmlElement> log(ServerLogEntry::MakeStanza()); 340 std::unique_ptr<XmlElement> log(ServerLogEntry::MakeStanza());
341 scoped_ptr<ServerLogEntry> log_entry(MakeLogEntryForHeartbeat()); 341 std::unique_ptr<ServerLogEntry> log_entry(MakeLogEntryForHeartbeat());
342 AddHostFieldsToLogEntry(log_entry.get()); 342 AddHostFieldsToLogEntry(log_entry.get());
343 log->AddElement(log_entry->ToStanza().release()); 343 log->AddElement(log_entry->ToStanza().release());
344 heartbeat->AddElement(log.release()); 344 heartbeat->AddElement(log.release());
345 return heartbeat; 345 return heartbeat;
346 } 346 }
347 347
348 scoped_ptr<XmlElement> HeartbeatSender::CreateSignature() { 348 std::unique_ptr<XmlElement> HeartbeatSender::CreateSignature() {
349 scoped_ptr<XmlElement> signature_tag(new XmlElement( 349 std::unique_ptr<XmlElement> signature_tag(
350 QName(kChromotingXmlNamespace, kHeartbeatSignatureTag))); 350 new XmlElement(QName(kChromotingXmlNamespace, kHeartbeatSignatureTag)));
351 351
352 std::string message = NormalizeJid(signal_strategy_->GetLocalJid()) + ' ' + 352 std::string message = NormalizeJid(signal_strategy_->GetLocalJid()) + ' ' +
353 base::IntToString(sequence_id_); 353 base::IntToString(sequence_id_);
354 std::string signature(host_key_pair_->SignMessage(message)); 354 std::string signature(host_key_pair_->SignMessage(message));
355 signature_tag->AddText(signature); 355 signature_tag->AddText(signature);
356 356
357 return signature_tag; 357 return signature_tag;
358 } 358 }
359 359
360 } // namespace remoting 360 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/host/heartbeat_sender.h ('k') | remoting/host/heartbeat_sender_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698