many method
Implementation
@override
Future<Map<String, dynamic>> many(List<String> keys) async {
if (keys.isEmpty) return <String, dynamic>{};
final grouped = <int, List<String>>{};
for (final key in keys) {
grouped.putIfAbsent(_shardFor(key), () => <String>[]).add(key);
}
final result = <String, dynamic>{};
for (final entry in grouped.entries) {
final response = await _requestOnShard(
entry.key,
'many',
payload: <String, Object?>{'keys': entry.value},
);
final values = response['values'];
if (values is Map) {
for (final value in values.entries) {
if (value.key is String) {
result[value.key as String] = value.value;
}
}
}
}
return result;
}