reserveMemory method
ReserveMemory reserves memory/buffer space in the scope; the unit is bytes.
Implementation
@override
Future<void> reserveMemory(int size, int priority) async {
if (_isDone) {
throw _wrapError(network_errors.ResourceScopeClosedException());
}
var err = _resources.reserveMemory(size, priority);
if (err != null) {
// TODO: metrics.BlockMemory(size);
throw _wrapError(err);
}
try {
await _reserveMemoryForAncestors(size, priority);
} catch (e) {
_resources.releaseMemory(size); // Rollback local reservation
// TODO: metrics.BlockMemory(size);
throw _wrapError(e as Exception);
}
// TODO: trace.ReserveMemory(name, priority, size, _resources.memory);
// TODO: metrics.AllowMemory(size);
}