Make the return type of 'list_timelines' simpler.

It's enough to return just the Timeline references. You can get the
timeline's ID easily from Timeline.
This commit is contained in:
Heikki Linnakangas
2022-10-11 14:47:59 +03:00
committed by Heikki Linnakangas
parent db26bc49cc
commit 47366522a8
2 changed files with 7 additions and 6 deletions

View File

@@ -145,9 +145,9 @@ fn list_local_timelines(
let timelines = tenant.list_timelines();
let mut local_timeline_info = Vec::with_capacity(timelines.len());
for (timeline_id, repository_timeline) in timelines {
for repository_timeline in timelines {
local_timeline_info.push((
timeline_id,
repository_timeline.timeline_id,
local_timeline_info_from_timeline(
&repository_timeline,
include_non_incremental_logical_size,
@@ -218,7 +218,8 @@ async fn timeline_list_handler(request: Request<Body>) -> Result<Response<Body>,
.map_err(|e: JoinError| ApiError::InternalServerError(e.into()))??;
let mut response_data = Vec::with_capacity(timelines.len());
for (timeline_id, timeline) in timelines {
for timeline in timelines {
let timeline_id = timeline.timeline_id;
let local = match local_timeline_info_from_timeline(
&timeline,
include_non_incremental_logical_size,

View File

@@ -144,12 +144,12 @@ impl Tenant {
/// Lists timelines the tenant contains.
/// Up to tenant's implementation to omit certain timelines that ar not considered ready for use.
pub fn list_timelines(&self) -> Vec<(TimelineId, Arc<Timeline>)> {
pub fn list_timelines(&self) -> Vec<Arc<Timeline>> {
self.timelines
.lock()
.unwrap()
.iter()
.map(|(timeline_id, timeline_entry)| (*timeline_id, Arc::clone(timeline_entry)))
.values()
.map(Arc::clone)
.collect()
}