From c8a7409c963fce34d786215ba8aa30b4e7ef5ca3 Mon Sep 17 00:00:00 2001 From: Zahary Karadjov Date: Mon, 8 Jul 2019 17:12:50 +0300 Subject: [PATCH] Add InputStream.endPos --- faststreams/input_stream.nim | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/faststreams/input_stream.nim b/faststreams/input_stream.nim index 4d47895..20c292a 100644 --- a/faststreams/input_stream.nim +++ b/faststreams/input_stream.nim @@ -36,6 +36,8 @@ type ByteStreamVar* = ref ByteStream AsciiStreamVar* = ref AsciiStream + InputStreamVar* = ref ByteStream + proc openFile*(filename: string): ByteStreamVar = new result var memFile = memfiles.open(filename) @@ -69,6 +71,10 @@ proc init*(T: type BufferedStream, asyncReader = AsyncStreamReader(nil)): BufferedStream = result.init result.buffer, reader, asyncReader +proc endPos*(s: InputStreamVar): int = + # TODO This needs to use a VTable for `system.File` based streams + s.bufferEndPos + proc syncRead(s: var ByteStream): bool = let bytesRead = s.reader(s.bufferStart, s.bufferSize) if bytesRead == 0: