dispose method
Disposes of all resources held by this instance
Implementation
@override
void dispose() {
eventEmitter.clear();
if (_isInIsolate == false) {
send(LlamaLibraryActionType.close);
return;
}
if (isDeviceSupport() == false || isCrash()) {
return;
}
clear();
// if (_tokens != nullptr) {
// malloc.free(_tokens);
// }
// if (_tokenPtr != nullptr) {
// malloc.free(_tokenPtr);
// }
if (LlamaLibrary._llamaSampler != nullptr) {
LlamaLibrary._llamaLibrarySharedBindingsByGeneralDeveloper
.llama_sampler_free(LlamaLibrary._llamaSampler);
}
if (LlamaLibrary._llamaContext != nullptr ||
LlamaLibrary._llamaContext.address != 0) {
LlamaLibrary._llamaLibrarySharedBindingsByGeneralDeveloper
.llama_free(LlamaLibrary._llamaContext);
}
if (LlamaLibrary._modelContext != nullptr ||
LlamaLibrary._modelContext.address != 0) {
LlamaLibrary._llamaLibrarySharedBindingsByGeneralDeveloper
.llama_free_model(LlamaLibrary._modelContext);
}
LlamaLibrary._llamaLibrarySharedBindingsByGeneralDeveloper
.llama_backend_free();
send(LlamaLibraryActionType.close);
}