askarSessionUpdate function
Implementation
Future<AskarCallbackResult> askarSessionUpdate(
SessionHandle handle,
EntryOperation operation,
String category,
String name, {
String? value,
Map<String, dynamic>? tags,
int? expiryMs,
}) async {
Pointer<Utf8> categoryPointer = nullptr;
Pointer<Utf8> namePointer = nullptr;
Pointer<Utf8> tagsPointer = nullptr;
Pointer<NativeByteBuffer> byteBufferPointer = nullptr;
try {
categoryPointer = category.toNativeUtf8();
namePointer = name.toNativeUtf8();
tagsPointer = jsonEncode(tags).toNativeUtf8();
byteBufferPointer = stringToByteBuffer(value ?? "");
final callback = newCallbackWithoutHandle();
final result = nativeAskarSessionUpdate(
handle.toInt(),
operation.value,
categoryPointer,
namePointer,
byteBufferPointer.ref,
tagsPointer,
(expiryMs ?? 0),
callback.nativeCallable.nativeFunction,
callback.id,
);
return await callback.handleResult(result);
} finally {
freePointer(categoryPointer);
freePointer(namePointer);
freePointer(tagsPointer);
freeByteBufferPointer(byteBufferPointer);
}
}