You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
577 B
21 lines
577 B
2 years ago
|
// For licensing see accompanying LICENSE.md file.
|
||
|
// Copyright (C) 2022 Apple Inc. All Rights Reserved.
|
||
|
|
||
|
/// Protocol for managing internal resources
|
||
|
public protocol ResourceManaging {
|
||
|
|
||
|
/// Request resources to be loaded and ready if possible
|
||
|
func loadResources() throws
|
||
|
|
||
|
/// Request resources are unloaded / remove from memory if possible
|
||
|
func unloadResources()
|
||
|
}
|
||
|
|
||
|
extension ResourceManaging {
|
||
|
/// Request resources are pre-warmed by loading and unloading
|
||
|
func prewarmResources() throws {
|
||
|
try loadResources()
|
||
|
unloadResources()
|
||
|
}
|
||
|
}
|