setQuota method

Future<QuotaResult> setQuota({
  1. String quotaRoot = '""',
  2. required Map<String, int> resourceLimits,
})

Sets the quota resourceLimits for the the user / quotaRoot.

Optionally define the quotaRoot which defaults to "". Note that the server needs to support the QUOTA capability.

Implementation

Future<QuotaResult> setQuota(
    {String quotaRoot = '""', required Map<String, int> resourceLimits}) {
  quotaRoot = quotaRoot.contains(' ') ? '"$quotaRoot"' : quotaRoot;
  final buffer = StringBuffer()
    ..write('SETQUOTA ')
    ..write(quotaRoot)
    ..write(' (')
    ..write(resourceLimits.entries
        .map((entry) => entry.key + ' ' + entry.value.toString())
        .join(' '))
    ..write(')');
  final cmd = Command(buffer.toString());
  final parser = QuotaParser();
  return sendCommand<QuotaResult>(cmd, parser);
}