Freshen streams when we write to them
This commit is contained in:
13
index.cc
13
index.cc
@@ -5,7 +5,7 @@ namespace firesse {
|
||||
void Index::Add(Stream* stream) {
|
||||
std::lock_guard l(mu_);
|
||||
|
||||
// Implicitly freshest
|
||||
stream->last_message_time_ = std::chrono::steady_clock::now();
|
||||
stream->fresher_ = nullptr;
|
||||
stream->staler_ = freshest_;
|
||||
if (stream->staler_) {
|
||||
@@ -36,4 +36,15 @@ void Index::Remove(Stream* stream) {
|
||||
}
|
||||
}
|
||||
|
||||
void Index::Freshen(Stream* stream) {
|
||||
std::lock_guard l(mu_);
|
||||
if (freshest_ == stream) {
|
||||
// Shortcut
|
||||
stream->last_message_time_ = std::chrono::steady_clock::now();
|
||||
return;
|
||||
}
|
||||
Remove(stream);
|
||||
Add(stream);
|
||||
}
|
||||
|
||||
} // namespace firesse
|
||||
|
||||
Reference in New Issue
Block a user