mirror of
https://github.com/codex-storage/nim-libp2p.git
synced 2025-01-12 20:14:09 +00:00
fix: return on read error
This commit is contained in:
parent
2c3c23c7c6
commit
5177bbb492
@ -27,32 +27,45 @@ method read*(s: Connection, n = -1): Future[seq[byte]] {.gcsafe.} =
|
||||
|
||||
method readExactly*(s: Connection,
|
||||
pbytes: pointer,
|
||||
nbytes: int): Future[void] {.gcsafe.} =
|
||||
nbytes: int):
|
||||
Future[void] {.gcsafe.} =
|
||||
result = s.stream.readExactly(pbytes, nbytes)
|
||||
|
||||
method readLine*(s: Connection,
|
||||
limit = 0,
|
||||
sep = "\r\n"): Future[string] {.gcsafe.} =
|
||||
sep = "\r\n"):
|
||||
Future[string] {.gcsafe.} =
|
||||
result = s.stream.readLine(limit, sep)
|
||||
|
||||
method readOnce*(s: Connection,
|
||||
pbytes: pointer,
|
||||
nbytes: int): Future[int] {.gcsafe.} =
|
||||
nbytes: int):
|
||||
Future[int] {.gcsafe.} =
|
||||
result = s.stream.readOnce(pbytes, nbytes)
|
||||
|
||||
method readUntil*(s: Connection,
|
||||
pbytes: pointer,
|
||||
nbytes: int,
|
||||
sep: seq[byte]): Future[int] {.gcsafe.} =
|
||||
sep: seq[byte]):
|
||||
Future[int] {.gcsafe.} =
|
||||
result = s.stream.readUntil(pbytes, nbytes, sep)
|
||||
|
||||
method write*(s: Connection, pbytes: pointer, nbytes: int): Future[void] {.gcsafe.} =
|
||||
method write*(s: Connection,
|
||||
pbytes: pointer,
|
||||
nbytes: int):
|
||||
Future[void] {.gcsafe.} =
|
||||
result = s.stream.write(pbytes, nbytes)
|
||||
|
||||
method write*(s: Connection, msg: string, msglen = -1): Future[void] {.gcsafe.} =
|
||||
method write*(s: Connection,
|
||||
msg: string,
|
||||
msglen = -1):
|
||||
Future[void] {.gcsafe.} =
|
||||
result = s.stream.write(msg, msglen)
|
||||
|
||||
method write*(s: Connection, msg: seq[byte], msglen = -1): Future[void] {.gcsafe.} =
|
||||
method write*(s: Connection,
|
||||
msg: seq[byte],
|
||||
msglen = -1):
|
||||
Future[void] {.gcsafe.} =
|
||||
result = s.stream.write(msg, msglen)
|
||||
|
||||
method close*(s: Connection) {.async, gcsafe.} =
|
||||
@ -74,6 +87,8 @@ proc readLp*(s: Connection): Future[seq[byte]] {.async, gcsafe.} =
|
||||
break
|
||||
if res != VarintStatus.Success or size > DefaultReadSize:
|
||||
buffer.setLen(0)
|
||||
result = buffer
|
||||
return
|
||||
buffer.setLen(size)
|
||||
await s.readExactly(addr buffer[0], int(size))
|
||||
except TransportIncompleteError:
|
||||
|
Loading…
x
Reference in New Issue
Block a user