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
final memoryAfterRollback = _resources.memory; // Explicitly read after rollback
// Specific check for the failing test conditions - removing this as well
// if (name == 'childScope' && size == 70 && memoryAfterRollback != 0) {
// }
// TODO: metrics.BlockMemory(size);
throw _wrapError(e as Exception);
}
// TODO: trace.ReserveMemory(name, priority, size, _resources.memory);
// TODO: metrics.AllowMemory(size);
}