Index: components/copresence/handlers/audio/audio_directive_list.cc |
diff --git a/components/copresence/handlers/audio/audio_directive_list.cc b/components/copresence/handlers/audio/audio_directive_list.cc |
index a12cbc27124535d4911bfdad2b2b0567eec9058f..decbc6bc8bc62d19d6e39190bc722a8f3dd1c06d 100644 |
--- a/components/copresence/handlers/audio/audio_directive_list.cc |
+++ b/components/copresence/handlers/audio/audio_directive_list.cc |
@@ -11,8 +11,11 @@ namespace copresence { |
AudioDirective::AudioDirective() {} |
AudioDirective::AudioDirective(const std::string& op_id, |
- base::TimeTicks end_time) |
- : op_id(op_id), end_time(end_time) {} |
+ base::TimeTicks end_time, |
+ const Directive& server_directive) |
+ : op_id(op_id), |
+ end_time(end_time), |
+ server_directive(server_directive) {} |
AudioDirectiveList::AudioDirectiveList( |
const scoped_refptr<TickClockRefCounted>& clock) |
@@ -21,8 +24,9 @@ AudioDirectiveList::AudioDirectiveList( |
AudioDirectiveList::~AudioDirectiveList() {} |
void AudioDirectiveList::AddDirective(const std::string& op_id, |
- base::TimeDelta ttl) { |
- base::TimeTicks end_time = clock_->NowTicks() + ttl; |
+ const Directive& server_directive) { |
+ base::TimeTicks end_time = clock_->NowTicks() + |
+ base::TimeDelta::FromMilliseconds(server_directive.ttl_millis()); |
// If this op is already in the list, update it instead of adding it again. |
auto it = FindDirectiveByOpId(op_id); |
@@ -34,7 +38,8 @@ void AudioDirectiveList::AddDirective(const std::string& op_id, |
return; |
} |
- active_directives_.push_back(AudioDirective(op_id, end_time)); |
+ active_directives_.push_back( |
+ AudioDirective(op_id, end_time, server_directive)); |
std::push_heap(active_directives_.begin(), |
active_directives_.end(), |
LatestFirstComparator()); |
@@ -63,6 +68,10 @@ scoped_ptr<AudioDirective> AudioDirectiveList::GetActiveDirective() { |
return make_scoped_ptr(new AudioDirective(active_directives_.front())); |
} |
+const std::vector<AudioDirective>& AudioDirectiveList::directives() const { |
+ return active_directives_; |
+} |
+ |
// Private functions. |