Add server client
Some checks failed
CI / Typos (push) Successful in 24s
CI / Clippy (push) Successful in 1m16s
CI / Build and test (all features) (push) Failing after 5m5s
CI / Build and test (push) Failing after 6m55s

This commit is contained in:
2026-03-23 21:53:39 -07:00
parent dfcb4b0a24
commit e83c522e78
11 changed files with 673 additions and 11 deletions

View File

@@ -6,7 +6,7 @@ use pile_config::{
use pile_io::S3Client;
use smartstring::{LazyCompact, SmartString};
use std::{
collections::{HashMap, HashSet},
collections::{BTreeMap, HashMap, HashSet},
sync::{Arc, OnceLock},
};
@@ -24,7 +24,7 @@ pub struct S3DataSource {
pub prefix: Option<SmartString<LazyCompact>>,
pub pattern: GroupPattern,
pub encryption_key: Option<[u8; 32]>,
pub index: OnceLock<HashMap<SmartString<LazyCompact>, Item>>,
pub index: OnceLock<BTreeMap<SmartString<LazyCompact>, Item>>,
}
impl S3DataSource {
@@ -119,7 +119,7 @@ impl S3DataSource {
}
}
let mut index = HashMap::new();
let mut index = BTreeMap::new();
for key in all_keys.difference(&keys_grouped) {
let groups = resolve_groups(&source.pattern, key).await;
let group = groups