| 1234567891011121314151617181920212223242526 |
- namespace Lua.Standard.IO;
- public sealed class FileFlushFunction : LuaFunction
- {
- public override string Name => "flush";
- public static readonly FileFlushFunction Instance = new();
- protected override ValueTask<int> InvokeAsyncCore(LuaFunctionExecutionContext context, Memory<LuaValue> buffer, CancellationToken cancellationToken)
- {
- var file = context.ReadArgument<FileHandle>(0);
- try
- {
- file.Flush();
- buffer.Span[0] = true;
- return new(1);
- }
- catch (IOException ex)
- {
- buffer.Span[0] = LuaValue.Nil;
- buffer.Span[1] = ex.Message;
- buffer.Span[2] = ex.HResult;
- return new(3);
- }
- }
- }
|