Переглянути джерело

Merge pull request #245 from nuskey8/fix/auto-flush-buffer

fix: auto flush on closing BufferdOutputStream
Akito Inoue 2 тижнів тому
батько
коміт
14d33e7be6
1 змінених файлів з 12 додано та 0 видалено
  1. 12 0
      src/Lua/IO/BufferedOutputStream.cs

+ 12 - 0
src/Lua/IO/BufferedOutputStream.cs

@@ -35,4 +35,16 @@ public class BufferedOutputStream(Action<ReadOnlyMemory<char>> onFlush) : ILuaSt
 
         return default;
     }
+
+    public ValueTask CloseAsync(CancellationToken cancellationToken = default)
+    {
+        if (buffer.Length > 0)
+        {
+            onFlush(buffer.AsArray().AsMemory(0, buffer.Length));
+            buffer.Clear();
+        }
+
+        IsOpen = false;
+        return default;
+    }
 }