putMany method

  1. @override
Future<bool> putMany(
  1. Map<String, dynamic> values,
  2. int seconds
)

Implementation

@override
Future<bool> putMany(Map<String, dynamic> values, int seconds) async {
  if (values.isEmpty) return true;
  final grouped = <int, Map<String, dynamic>>{};
  for (final entry in values.entries) {
    grouped.putIfAbsent(
      _shardFor(entry.key),
      () => <String, dynamic>{},
    )[entry.key] = entry.value;
  }
  for (final entry in grouped.entries) {
    await _requestOnShard(
      entry.key,
      'put_many',
      payload: <String, Object?>{'values': entry.value, 'seconds': seconds},
    );
  }
  return true;
}