From c7fd08e00251fb10be32b1e0f612da9e5fd7fe5c Mon Sep 17 00:00:00 2001 From: Dmitriy Ryajov Date: Fri, 6 Sep 2019 15:28:54 -0600 Subject: [PATCH] use sane defaults --- libp2p/stream/bufferstream.nim | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libp2p/stream/bufferstream.nim b/libp2p/stream/bufferstream.nim index ee32fee3f..07cd0d881 100644 --- a/libp2p/stream/bufferstream.nim +++ b/libp2p/stream/bufferstream.nim @@ -34,6 +34,8 @@ import deques, tables, sequtils, math import chronos import ../stream/lpstream +const DefaultBufferSize* = 1024 + type # TODO: figure out how to make this generic to avoid casts WriteHandler* = proc (data: seq[byte]): Future[void] {.gcsafe.} @@ -51,14 +53,14 @@ proc requestReadBytes(s: BufferStream): Future[void] = result = newFuture[void]() s.readReqs.addLast(result) -proc initBufferStream*(s: BufferStream, handler: WriteHandler, size: int = 1024) = +proc initBufferStream*(s: BufferStream, handler: WriteHandler, size: int = DefaultBufferSize) = s.maxSize = if isPowerOfTwo(size): size else: nextPowerOfTwo(size) s.readBuf = initDeque[byte](s.maxSize) s.readReqs = initDeque[Future[void]]() s.dataReadEvent = newAsyncEvent() s.writeHandler = handler -proc newBufferStream*(handler: WriteHandler, size: int = 1024): BufferStream = +proc newBufferStream*(handler: WriteHandler, size: int = DefaultBufferSize): BufferStream = new result result.initBufferStream(handler, size) @@ -124,7 +126,6 @@ method readExactly*(s: BufferStream, ## If EOF is received and ``nbytes`` is not yet read, the procedure ## will raise ``LPStreamIncompleteError``. let buff = await s.read(nbytes) - if nbytes > buff.len(): raise newLPStreamIncompleteError()