Răsfoiți Sursa

fix: auto flush on closeing BufferdOutputStream

akeit0 2 săptămâni în urmă
părinte
comite
8df9275a41
1 a modificat fișierele cu 12 adăugiri și 0 ștergeri
  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;
+    }
 }