remove casts from (#203)
This commit is contained in:
parent
bb8bff2195
commit
5960d42c50
|
@ -7,8 +7,8 @@
|
|||
## This file may not be copied, modified, or distributed except according to
|
||||
## those terms.
|
||||
|
||||
import strutils, stew/byteutils
|
||||
import chronos, chronicles
|
||||
import strutils
|
||||
import chronos, chronicles, stew/byteutils
|
||||
import connection,
|
||||
vbuffer,
|
||||
errors,
|
||||
|
@ -58,7 +58,7 @@ proc select*(m: MultistreamSelect,
|
|||
trace "selecting proto", proto = proto
|
||||
await conn.writeLp((proto[0] & "\n")) # select proto
|
||||
|
||||
result = cast[string]((await conn.readLp(1024))) # read ms header
|
||||
result = string.fromBytes((await conn.readLp(1024))) # read ms header
|
||||
result.removeSuffix("\n")
|
||||
if result != Codec:
|
||||
notice "handshake failed", codec = result.toHex()
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
## those terms.
|
||||
|
||||
import chronos
|
||||
import nimcrypto/utils, chronicles
|
||||
import nimcrypto/utils, chronicles, stew/byteutils
|
||||
import types,
|
||||
../../connection,
|
||||
../../utility,
|
||||
|
@ -74,7 +74,7 @@ proc writeMsg*(conn: Connection,
|
|||
msgType: MessageType,
|
||||
data: string) {.async, gcsafe.} =
|
||||
# TODO: changing this to
|
||||
#`await conn.writeMsg(id, msgType, cast[seq[byte]](data))`
|
||||
#`await conn.writeMsg(id, msgType, data.toBytes())`
|
||||
# causes all sorts of race conditions and hangs.
|
||||
# DON'T DO IT!
|
||||
result = conn.writeMsg(id, msgType, cast[seq[byte]](data))
|
||||
result = conn.writeMsg(id, msgType, data.toBytes())
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
## those terms.
|
||||
|
||||
import tables, sequtils, oids
|
||||
import chronos, chronicles
|
||||
import chronos, chronicles, stew/byteutils
|
||||
import ../muxer,
|
||||
../../connection,
|
||||
../../stream/lpstream,
|
||||
|
@ -89,7 +89,7 @@ method handle*(m: Mplex) {.async, gcsafe.} =
|
|||
|
||||
case msgType:
|
||||
of MessageType.New:
|
||||
let name = cast[string](data)
|
||||
let name = string.fromBytes(data)
|
||||
channel = await m.newStreamInternal(false, id, name)
|
||||
trace "created channel", id = id,
|
||||
name = name,
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
## those terms.
|
||||
|
||||
import options
|
||||
import chronicles
|
||||
import chronicles, stew/byteutils
|
||||
import nimcrypto/sysrand
|
||||
import messages, protobuf,
|
||||
../../../peer,
|
||||
|
@ -23,7 +23,7 @@ const PubSubPrefix = "libp2p-pubsub:"
|
|||
|
||||
proc msgIdProvider(m: Message): string =
|
||||
## default msg id provider
|
||||
m.seqno.toHex() & PeerID.init(m.fromPeer).pretty
|
||||
crypto.toHex(m.seqno) & PeerID.init(m.fromPeer).pretty
|
||||
|
||||
template msgId*(m: Message): string =
|
||||
## calls the ``msgIdProvider`` from
|
||||
|
@ -41,7 +41,7 @@ proc sign*(msg: Message, p: PeerInfo): Message {.gcsafe.} =
|
|||
if buff.buffer.len > 0:
|
||||
result = msg
|
||||
result.signature = p.privateKey.
|
||||
sign(cast[seq[byte]](PubSubPrefix) & buff.buffer).tryGet().
|
||||
sign(PubSubPrefix.toBytes() & buff.buffer).tryGet().
|
||||
getBytes()
|
||||
|
||||
proc verify*(m: Message, p: PeerInfo): bool =
|
||||
|
@ -57,7 +57,7 @@ proc verify*(m: Message, p: PeerInfo): bool =
|
|||
var key: PublicKey
|
||||
if remote.init(m.signature) and key.init(m.key):
|
||||
trace "verifying signature", remoteSignature = remote
|
||||
result = remote.verify(cast[seq[byte]](PubSubPrefix) & buff.buffer, key)
|
||||
result = remote.verify(PubSubPrefix.toBytes() & buff.buffer, key)
|
||||
|
||||
proc newMessage*(p: PeerInfo,
|
||||
data: seq[byte],
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
{.used.}
|
||||
|
||||
import unittest, sequtils, options, tables, sets
|
||||
import chronos
|
||||
import chronos, stew/byteutils
|
||||
import utils,
|
||||
../../libp2p/[errors,
|
||||
switch,
|
||||
|
@ -60,7 +60,7 @@ suite "FloodSub":
|
|||
await nodes[1].subscribe("foobar", handler)
|
||||
await waitSub(nodes[0], nodes[1], "foobar")
|
||||
|
||||
await nodes[0].publish("foobar", cast[seq[byte]]("Hello!"))
|
||||
await nodes[0].publish("foobar", "Hello!".toBytes())
|
||||
|
||||
result = await completionFut.wait(5.seconds)
|
||||
|
||||
|
@ -91,7 +91,7 @@ suite "FloodSub":
|
|||
await nodes[0].subscribe("foobar", handler)
|
||||
await waitSub(nodes[1], nodes[0], "foobar")
|
||||
|
||||
await nodes[1].publish("foobar", cast[seq[byte]]("Hello!"))
|
||||
await nodes[1].publish("foobar", "Hello!".toBytes())
|
||||
|
||||
result = await completionFut.wait(5.seconds)
|
||||
|
||||
|
@ -126,7 +126,7 @@ suite "FloodSub":
|
|||
|
||||
nodes[1].addValidator("foobar", validator)
|
||||
|
||||
await nodes[0].publish("foobar", cast[seq[byte]]("Hello!"))
|
||||
await nodes[0].publish("foobar", "Hello!".toBytes())
|
||||
|
||||
check (await handlerFut) == true
|
||||
await allFuturesThrowing(
|
||||
|
@ -160,7 +160,7 @@ suite "FloodSub":
|
|||
|
||||
nodes[1].addValidator("foobar", validator)
|
||||
|
||||
await nodes[0].publish("foobar", cast[seq[byte]]("Hello!"))
|
||||
await nodes[0].publish("foobar", "Hello!".toBytes())
|
||||
|
||||
await allFuturesThrowing(
|
||||
nodes[0].stop(),
|
||||
|
@ -198,8 +198,8 @@ suite "FloodSub":
|
|||
|
||||
nodes[1].addValidator("foo", "bar", validator)
|
||||
|
||||
await nodes[0].publish("foo", cast[seq[byte]]("Hello!"))
|
||||
await nodes[0].publish("bar", cast[seq[byte]]("Hello!"))
|
||||
await nodes[0].publish("foo", "Hello!".toBytes())
|
||||
await nodes[0].publish("bar", "Hello!".toBytes())
|
||||
|
||||
await allFuturesThrowing(
|
||||
nodes[0].stop(),
|
||||
|
@ -252,7 +252,7 @@ suite "FloodSub":
|
|||
|
||||
var pubs: seq[Future[void]]
|
||||
for i in 0..<runs:
|
||||
pubs &= nodes[i].publish("foobar", cast[seq[byte]]("Hello!"))
|
||||
pubs &= nodes[i].publish("foobar", "Hello!".toBytes())
|
||||
await allFuturesThrowing(pubs)
|
||||
|
||||
await allFuturesThrowing(futs.mapIt(it[0]))
|
||||
|
@ -306,7 +306,7 @@ suite "FloodSub":
|
|||
|
||||
var pubs: seq[Future[void]]
|
||||
for i in 0..<runs:
|
||||
pubs &= nodes[i].publish("foobar", cast[seq[byte]]("Hello!"))
|
||||
pubs &= nodes[i].publish("foobar", "Hello!".toBytes())
|
||||
await allFuturesThrowing(pubs)
|
||||
|
||||
await allFuturesThrowing(futs.mapIt(it[0]))
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
{.used.}
|
||||
|
||||
import unittest, sequtils, options, tables, sets
|
||||
import chronos
|
||||
import chronos, stew/byteutils
|
||||
import chronicles
|
||||
import utils, ../../libp2p/[errors,
|
||||
peer,
|
||||
|
@ -76,7 +76,7 @@ suite "GossipSub":
|
|||
result = true
|
||||
|
||||
nodes[1].addValidator("foobar", validator)
|
||||
await nodes[0].publish("foobar", cast[seq[byte]]("Hello!"))
|
||||
await nodes[0].publish("foobar", "Hello!".toBytes())
|
||||
|
||||
result = (await validatorFut) and (await handlerFut)
|
||||
await allFuturesThrowing(
|
||||
|
@ -110,7 +110,7 @@ suite "GossipSub":
|
|||
result = false
|
||||
|
||||
nodes[1].addValidator("foobar", validator)
|
||||
await nodes[0].publish("foobar", cast[seq[byte]]("Hello!"))
|
||||
await nodes[0].publish("foobar", "Hello!".toBytes())
|
||||
|
||||
result = await validatorFut
|
||||
await allFuturesThrowing(
|
||||
|
@ -151,8 +151,8 @@ suite "GossipSub":
|
|||
false
|
||||
|
||||
nodes[1].addValidator("foo", "bar", validator)
|
||||
await nodes[0].publish("foo", cast[seq[byte]]("Hello!"))
|
||||
await nodes[0].publish("bar", cast[seq[byte]]("Hello!"))
|
||||
await nodes[0].publish("foo", "Hello!".toBytes())
|
||||
await nodes[0].publish("bar", "Hello!".toBytes())
|
||||
|
||||
result = ((await passed) and (await failed) and (await handlerFut))
|
||||
await allFuturesThrowing(
|
||||
|
@ -272,7 +272,7 @@ suite "GossipSub":
|
|||
nodes[1].pubsub.get().addObserver(obs1)
|
||||
nodes[0].pubsub.get().addObserver(obs2)
|
||||
|
||||
await nodes[0].publish("foobar", cast[seq[byte]]("Hello!"))
|
||||
await nodes[0].publish("foobar", "Hello!".toBytes())
|
||||
|
||||
var gossipSub1: GossipSub = GossipSub(nodes[0].pubSub.get())
|
||||
|
||||
|
@ -309,7 +309,7 @@ suite "GossipSub":
|
|||
await nodes[1].subscribe("foobar", handler)
|
||||
await waitSub(nodes[0], nodes[1], "foobar")
|
||||
|
||||
await nodes[0].publish("foobar", cast[seq[byte]]("Hello!"))
|
||||
await nodes[0].publish("foobar", "Hello!".toBytes())
|
||||
|
||||
result = await passed
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{.used.}
|
||||
|
||||
import options, sets, sequtils
|
||||
import unittest
|
||||
import unittest, options, sets, sequtils
|
||||
import stew/byteutils
|
||||
import ../../libp2p/[peer,
|
||||
crypto/crypto,
|
||||
protocols/pubsub/mcache,
|
||||
|
@ -12,7 +12,7 @@ suite "MCache":
|
|||
test "put/get":
|
||||
var mCache = newMCache(3, 5)
|
||||
var msg = Message(fromPeer: PeerID.init(PrivateKey.random(ECDSA).get()).data,
|
||||
seqno: cast[seq[byte]]("12345"))
|
||||
seqno: "12345".toBytes())
|
||||
mCache.put(msg)
|
||||
check mCache.get(msg.msgId).isSome and mCache.get(msg.msgId).get() == msg
|
||||
|
||||
|
@ -21,13 +21,13 @@ suite "MCache":
|
|||
|
||||
for i in 0..<3:
|
||||
var msg = Message(fromPeer: PeerID.init(PrivateKey.random(ECDSA).get()).data,
|
||||
seqno: cast[seq[byte]]("12345"),
|
||||
seqno: "12345".toBytes(),
|
||||
topicIDs: @["foo"])
|
||||
mCache.put(msg)
|
||||
|
||||
for i in 0..<5:
|
||||
var msg = Message(fromPeer: PeerID.init(PrivateKey.random(ECDSA).get()).data,
|
||||
seqno: cast[seq[byte]]("12345"),
|
||||
seqno: "12345".toBytes(),
|
||||
topicIDs: @["bar"])
|
||||
mCache.put(msg)
|
||||
|
||||
|
@ -42,7 +42,7 @@ suite "MCache":
|
|||
|
||||
for i in 0..<3:
|
||||
var msg = Message(fromPeer: PeerID.init(PrivateKey.random(ECDSA).get()).data,
|
||||
seqno: cast[seq[byte]]("12345"),
|
||||
seqno: "12345".toBytes(),
|
||||
topicIDs: @["foo"])
|
||||
mCache.put(msg)
|
||||
|
||||
|
@ -51,7 +51,7 @@ suite "MCache":
|
|||
|
||||
for i in 0..<3:
|
||||
var msg = Message(fromPeer: PeerID.init(PrivateKey.random(ECDSA).get()).data,
|
||||
seqno: cast[seq[byte]]("12345"),
|
||||
seqno: "12345".toBytes(),
|
||||
topicIDs: @["bar"])
|
||||
mCache.put(msg)
|
||||
|
||||
|
@ -60,7 +60,7 @@ suite "MCache":
|
|||
|
||||
for i in 0..<3:
|
||||
var msg = Message(fromPeer: PeerID.init(PrivateKey.random(ECDSA).get()).data,
|
||||
seqno: cast[seq[byte]]("12345"),
|
||||
seqno: "12345".toBytes(),
|
||||
topicIDs: @["baz"])
|
||||
mCache.put(msg)
|
||||
|
||||
|
@ -72,19 +72,19 @@ suite "MCache":
|
|||
|
||||
for i in 0..<3:
|
||||
var msg = Message(fromPeer: PeerID.init(PrivateKey.random(ECDSA).get()).data,
|
||||
seqno: cast[seq[byte]]("12345"),
|
||||
seqno: "12345".toBytes(),
|
||||
topicIDs: @["foo"])
|
||||
mCache.put(msg)
|
||||
|
||||
for i in 0..<3:
|
||||
var msg = Message(fromPeer: PeerID.init(PrivateKey.random(ECDSA).get()).data,
|
||||
seqno: cast[seq[byte]]("12345"),
|
||||
seqno: "12345".toBytes(),
|
||||
topicIDs: @["bar"])
|
||||
mCache.put(msg)
|
||||
|
||||
for i in 0..<3:
|
||||
var msg = Message(fromPeer: PeerID.init(PrivateKey.random(ECDSA).get()).data,
|
||||
seqno: cast[seq[byte]]("12345"),
|
||||
seqno: "12345".toBytes(),
|
||||
topicIDs: @["baz"])
|
||||
mCache.put(msg)
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import unittest, strformat
|
||||
import chronos
|
||||
import chronos, stew/byteutils
|
||||
import ../libp2p/errors
|
||||
import ../libp2p/stream/bufferstream
|
||||
|
||||
|
@ -15,9 +15,8 @@ suite "BufferStream":
|
|||
proc writeHandler(data: seq[byte]) {.async, gcsafe.} = discard
|
||||
let buff = newBufferStream(writeHandler, 16)
|
||||
check buff.len == 0
|
||||
var data: seq[char]
|
||||
data.add(@"12345")
|
||||
await buff.pushTo(cast[seq[byte]](data))
|
||||
var data = "12345"
|
||||
await buff.pushTo(data.toBytes())
|
||||
check buff.len == 5
|
||||
result = true
|
||||
|
||||
|
@ -32,7 +31,7 @@ suite "BufferStream":
|
|||
let buff = newBufferStream(writeHandler, 4)
|
||||
check buff.len == 0
|
||||
|
||||
let fut = buff.pushTo(cast[seq[byte]](@"12345"))
|
||||
let fut = buff.pushTo("12345".toBytes())
|
||||
check buff.len == 4
|
||||
check buff.popFirst() == byte(ord('1'))
|
||||
await fut
|
||||
|
@ -51,10 +50,10 @@ suite "BufferStream":
|
|||
let buff = newBufferStream(writeHandler, 10)
|
||||
check buff.len == 0
|
||||
|
||||
await buff.pushTo(cast[seq[byte]](@"12345"))
|
||||
await buff.pushTo("12345".toBytes())
|
||||
var data = newSeq[byte](3)
|
||||
await buff.readExactly(addr data[0], 3)
|
||||
check ['1', '2', '3'] == cast[string](data)
|
||||
check ['1', '2', '3'] == string.fromBytes(data)
|
||||
|
||||
result = true
|
||||
|
||||
|
@ -69,11 +68,11 @@ suite "BufferStream":
|
|||
let buff = newBufferStream(writeHandler, 10)
|
||||
check buff.len == 0
|
||||
|
||||
await buff.pushTo(cast[seq[byte]](@"12345"))
|
||||
await buff.pushTo("12345".toBytes())
|
||||
check buff.len == 5
|
||||
var data: seq[byte] = newSeq[byte](2)
|
||||
await buff.readExactly(addr data[0], 2)
|
||||
check cast[string](data) == @['1', '2']
|
||||
check string.fromBytes(data) == @['1', '2']
|
||||
|
||||
result = true
|
||||
|
||||
|
@ -90,11 +89,11 @@ suite "BufferStream":
|
|||
|
||||
var data: seq[byte] = newSeq[byte](3)
|
||||
let readFut = buff.readOnce(addr data[0], 5)
|
||||
await buff.pushTo(cast[seq[byte]](@"123"))
|
||||
await buff.pushTo("123".toBytes())
|
||||
check buff.len == 3
|
||||
|
||||
check (await readFut) == 3
|
||||
check cast[string](data) == @['1', '2', '3']
|
||||
check string.fromBytes(data) == @['1', '2', '3']
|
||||
|
||||
result = true
|
||||
|
||||
|
@ -106,7 +105,7 @@ suite "BufferStream":
|
|||
test "write ptr":
|
||||
proc testWritePtr(): Future[bool] {.async.} =
|
||||
proc writeHandler(data: seq[byte]) {.async, gcsafe.} =
|
||||
check cast[string](data) == "Hello!"
|
||||
check string.fromBytes(data) == "Hello!"
|
||||
|
||||
let buff = newBufferStream(writeHandler, 10)
|
||||
check buff.len == 0
|
||||
|
@ -124,7 +123,7 @@ suite "BufferStream":
|
|||
test "write string":
|
||||
proc testWritePtr(): Future[bool] {.async.} =
|
||||
proc writeHandler(data: seq[byte]) {.async, gcsafe.} =
|
||||
check cast[string](data) == "Hello!"
|
||||
check string.fromBytes(data) == "Hello!"
|
||||
|
||||
let buff = newBufferStream(writeHandler, 10)
|
||||
check buff.len == 0
|
||||
|
@ -141,12 +140,12 @@ suite "BufferStream":
|
|||
test "write bytes":
|
||||
proc testWritePtr(): Future[bool] {.async.} =
|
||||
proc writeHandler(data: seq[byte]) {.async, gcsafe.} =
|
||||
check cast[string](data) == "Hello!"
|
||||
check string.fromBytes(data) == "Hello!"
|
||||
|
||||
let buff = newBufferStream(writeHandler, 10)
|
||||
check buff.len == 0
|
||||
|
||||
await buff.write(cast[seq[byte]]("Hello!"))
|
||||
await buff.write("Hello!".toBytes())
|
||||
|
||||
result = true
|
||||
|
||||
|
@ -159,7 +158,7 @@ suite "BufferStream":
|
|||
proc testWritePtr(): Future[bool] {.async.} =
|
||||
var count = 1
|
||||
proc writeHandler(data: seq[byte]) {.async, gcsafe.} =
|
||||
check cast[string](data) == &"Msg {$count}"
|
||||
check string.fromBytes(data) == &"Msg {$count}"
|
||||
count.inc
|
||||
|
||||
let buff = newBufferStream(writeHandler, 10)
|
||||
|
@ -189,32 +188,32 @@ suite "BufferStream":
|
|||
let buff = newBufferStream(writeHandler, 10)
|
||||
check buff.len == 0
|
||||
|
||||
await buff.pushTo(cast[seq[byte]]("Msg 1"))
|
||||
await buff.pushTo(cast[seq[byte]]("Msg 2"))
|
||||
await buff.pushTo(cast[seq[byte]]("Msg 3"))
|
||||
await buff.pushTo("Msg 1".toBytes())
|
||||
await buff.pushTo("Msg 2".toBytes())
|
||||
await buff.pushTo("Msg 3".toBytes())
|
||||
|
||||
var data = newSeq[byte](5)
|
||||
await buff.readExactly(addr data[0], 5)
|
||||
check cast[string](data) == "Msg 1"
|
||||
check string.fromBytes(data) == "Msg 1"
|
||||
|
||||
await buff.readExactly(addr data[0], 5)
|
||||
check cast[string](data) == "Msg 2"
|
||||
check string.fromBytes(data) == "Msg 2"
|
||||
|
||||
await buff.readExactly(addr data[0], 5)
|
||||
check cast[string](data) == "Msg 3"
|
||||
check string.fromBytes(data) == "Msg 3"
|
||||
|
||||
await buff.pushTo(cast[seq[byte]]("Msg 4"))
|
||||
await buff.pushTo(cast[seq[byte]]("Msg 5"))
|
||||
await buff.pushTo(cast[seq[byte]]("Msg 6"))
|
||||
await buff.pushTo("Msg 4".toBytes())
|
||||
await buff.pushTo("Msg 5".toBytes())
|
||||
await buff.pushTo("Msg 6".toBytes())
|
||||
|
||||
await buff.readExactly(addr data[0], 5)
|
||||
check cast[string](data) == "Msg 4"
|
||||
check string.fromBytes(data) == "Msg 4"
|
||||
|
||||
await buff.readExactly(addr data[0], 5)
|
||||
check cast[string](data) == "Msg 5"
|
||||
check string.fromBytes(data) == "Msg 5"
|
||||
|
||||
await buff.readExactly(addr data[0], 5)
|
||||
check cast[string](data) == "Msg 6"
|
||||
check string.fromBytes(data) == "Msg 6"
|
||||
|
||||
result = true
|
||||
|
||||
|
@ -232,12 +231,12 @@ suite "BufferStream":
|
|||
var buf2 = newBufferStream(writeHandler2)
|
||||
|
||||
proc writeHandler1(data: seq[byte]) {.async, gcsafe.} =
|
||||
var msg = cast[string](data)
|
||||
var msg = string.fromBytes(data)
|
||||
check msg == "Hello!"
|
||||
await buf2.pushTo(data)
|
||||
|
||||
proc writeHandler2(data: seq[byte]) {.async, gcsafe.} =
|
||||
var msg = cast[string](data)
|
||||
var msg = string.fromBytes(data)
|
||||
check msg == "Hello!"
|
||||
await buf1.pushTo(data)
|
||||
|
||||
|
@ -247,14 +246,14 @@ suite "BufferStream":
|
|||
var res2: seq[byte] = newSeq[byte](7)
|
||||
var readFut2 = buf2.readExactly(addr res2[0], 7)
|
||||
|
||||
await buf1.pushTo(cast[seq[byte]]("Hello2!"))
|
||||
await buf2.pushTo(cast[seq[byte]]("Hello1!"))
|
||||
await buf1.pushTo("Hello2!".toBytes())
|
||||
await buf2.pushTo("Hello1!".toBytes())
|
||||
|
||||
await allFuturesThrowing(readFut1, readFut2)
|
||||
|
||||
check:
|
||||
res1 == cast[seq[byte]]("Hello2!")
|
||||
res2 == cast[seq[byte]]("Hello1!")
|
||||
res1 == "Hello2!".toBytes()
|
||||
res2 == "Hello1!".toBytes()
|
||||
|
||||
result = true
|
||||
|
||||
|
@ -271,11 +270,11 @@ suite "BufferStream":
|
|||
|
||||
var res1: seq[byte] = newSeq[byte](7)
|
||||
var readFut = buf2.readExactly(addr res1[0], 7)
|
||||
await buf1.write(cast[seq[byte]]("Hello1!"))
|
||||
await buf1.write("Hello1!".toBytes())
|
||||
await readFut
|
||||
|
||||
check:
|
||||
res1 == cast[seq[byte]]("Hello1!")
|
||||
res1 == "Hello1!".toBytes()
|
||||
|
||||
result = true
|
||||
|
||||
|
@ -298,13 +297,13 @@ suite "BufferStream":
|
|||
var res2: seq[byte] = newSeq[byte](7)
|
||||
var readFut2 = buf2.readExactly(addr res2[0], 7)
|
||||
|
||||
await buf1.write(cast[seq[byte]]("Hello1!"))
|
||||
await buf2.write(cast[seq[byte]]("Hello2!"))
|
||||
await buf1.write("Hello1!".toBytes())
|
||||
await buf2.write("Hello2!".toBytes())
|
||||
await allFuturesThrowing(readFut1, readFut2)
|
||||
|
||||
check:
|
||||
res1 == cast[seq[byte]]("Hello2!")
|
||||
res2 == cast[seq[byte]]("Hello1!")
|
||||
res1 == "Hello2!".toBytes()
|
||||
res2 == "Hello1!".toBytes()
|
||||
|
||||
result = true
|
||||
|
||||
|
@ -324,14 +323,14 @@ suite "BufferStream":
|
|||
result = newSeq[byte](6)
|
||||
await buf1.readExactly(addr result[0], 6)
|
||||
|
||||
proc writer(): Future[void] = buf1.write(cast[seq[byte]]("Hello!"))
|
||||
proc writer(): Future[void] = buf1.write("Hello!".toBytes())
|
||||
|
||||
var writerFut = writer()
|
||||
var readerFut = reader()
|
||||
|
||||
await writerFut
|
||||
check:
|
||||
(await readerFut) == cast[seq[byte]]("Hello!")
|
||||
(await readerFut) == "Hello!".toBytes()
|
||||
|
||||
result = true
|
||||
|
||||
|
@ -347,11 +346,11 @@ suite "BufferStream":
|
|||
|
||||
var res1: seq[byte] = newSeq[byte](7)
|
||||
var readFut = buf2.readExactly(addr res1[0], 7)
|
||||
await buf1.write(cast[seq[byte]]("Hello1!"))
|
||||
await buf1.write("Hello1!".toBytes())
|
||||
await readFut
|
||||
|
||||
check:
|
||||
res1 == cast[seq[byte]]("Hello1!")
|
||||
res1 == "Hello1!".toBytes()
|
||||
|
||||
result = true
|
||||
|
||||
|
@ -374,13 +373,13 @@ suite "BufferStream":
|
|||
var res2: seq[byte] = newSeq[byte](7)
|
||||
var readFut2 = buf2.readExactly(addr res2[0], 7)
|
||||
|
||||
await buf1.write(cast[seq[byte]]("Hello1!"))
|
||||
await buf2.write(cast[seq[byte]]("Hello2!"))
|
||||
await buf1.write("Hello1!".toBytes())
|
||||
await buf2.write("Hello2!".toBytes())
|
||||
await allFuturesThrowing(readFut1, readFut2)
|
||||
|
||||
check:
|
||||
res1 == cast[seq[byte]]("Hello2!")
|
||||
res2 == cast[seq[byte]]("Hello1!")
|
||||
res1 == "Hello2!".toBytes()
|
||||
res2 == "Hello1!".toBytes()
|
||||
|
||||
result = true
|
||||
|
||||
|
@ -400,14 +399,14 @@ suite "BufferStream":
|
|||
result = newSeq[byte](6)
|
||||
await buf1.readExactly(addr result[0], 6)
|
||||
|
||||
proc writer(): Future[void] = buf1.write(cast[seq[byte]]("Hello!"))
|
||||
proc writer(): Future[void] = buf1.write("Hello!".toBytes())
|
||||
|
||||
var writerFut = writer()
|
||||
var readerFut = reader()
|
||||
|
||||
await writerFut
|
||||
check:
|
||||
(await readerFut) == cast[seq[byte]]("Hello!")
|
||||
(await readerFut) == "Hello!".toBytes()
|
||||
|
||||
result = true
|
||||
|
||||
|
@ -431,7 +430,7 @@ suite "BufferStream":
|
|||
|
||||
proc writer() {.async.} =
|
||||
while count > 0:
|
||||
await buf1.write(cast[seq[byte]]("Hello2!"))
|
||||
await buf1.write("Hello2!".toBytes())
|
||||
count.dec
|
||||
|
||||
var writerFut = writer()
|
||||
|
|
|
@ -65,7 +65,7 @@ proc testPubSubDaemonPublish(gossip: bool = false,
|
|||
count: int = 1): Future[bool] {.async.} =
|
||||
var pubsubData = "TEST MESSAGE"
|
||||
var testTopic = "test-topic"
|
||||
var msgData = cast[seq[byte]](pubsubData)
|
||||
var msgData = pubsubData.toBytes()
|
||||
|
||||
var flags = {PSFloodSub}
|
||||
if gossip:
|
||||
|
@ -80,7 +80,7 @@ proc testPubSubDaemonPublish(gossip: bool = false,
|
|||
var finished = false
|
||||
var times = 0
|
||||
proc nativeHandler(topic: string, data: seq[byte]) {.async.} =
|
||||
let smsg = cast[string](data)
|
||||
let smsg = string.fromBytes(data)
|
||||
check smsg == pubsubData
|
||||
times.inc()
|
||||
if times >= count and not finished:
|
||||
|
@ -116,7 +116,7 @@ proc testPubSubNodePublish(gossip: bool = false,
|
|||
count: int = 1): Future[bool] {.async.} =
|
||||
var pubsubData = "TEST MESSAGE"
|
||||
var testTopic = "test-topic"
|
||||
var msgData = cast[seq[byte]](pubsubData)
|
||||
var msgData = pubsubData.toBytes()
|
||||
|
||||
var flags = {PSFloodSub}
|
||||
if gossip:
|
||||
|
@ -139,7 +139,7 @@ proc testPubSubNodePublish(gossip: bool = false,
|
|||
proc pubsubHandler(api: DaemonAPI,
|
||||
ticket: PubsubTicket,
|
||||
message: PubSubMessage): Future[bool] {.async.} =
|
||||
let smsg = cast[string](message.data)
|
||||
let smsg = string.fromBytes(message.data)
|
||||
check smsg == pubsubData
|
||||
times.inc()
|
||||
if times >= count and not finished:
|
||||
|
@ -184,11 +184,11 @@ suite "Interop":
|
|||
|
||||
var testFuture = newFuture[void]("test.future")
|
||||
proc daemonHandler(api: DaemonAPI, stream: P2PStream) {.async.} =
|
||||
check cast[string](await stream.transp.readLp()) == "test 1"
|
||||
check string.fromBytes(await stream.transp.readLp()) == "test 1"
|
||||
asyncDiscard stream.transp.writeLp("test 2")
|
||||
|
||||
await sleepAsync(10.millis)
|
||||
check cast[string](await stream.transp.readLp()) == "test 3"
|
||||
check string.fromBytes(await stream.transp.readLp()) == "test 3"
|
||||
asyncDiscard stream.transp.writeLp("test 4")
|
||||
testFuture.complete()
|
||||
|
||||
|
@ -197,11 +197,11 @@ suite "Interop":
|
|||
daemonPeer.addresses),
|
||||
protos[0])
|
||||
await conn.writeLp("test 1")
|
||||
check "test 2" == cast[string]((await conn.readLp(1024)))
|
||||
check "test 2" == string.fromBytes((await conn.readLp(1024)))
|
||||
await sleepAsync(10.millis)
|
||||
|
||||
await conn.writeLp("test 3")
|
||||
check "test 4" == cast[string]((await conn.readLp(1024)))
|
||||
check "test 4" == string.fromBytes((await conn.readLp(1024)))
|
||||
|
||||
await wait(testFuture, 10.secs)
|
||||
await conn.close()
|
||||
|
@ -265,7 +265,7 @@ suite "Interop":
|
|||
|
||||
var testFuture = newFuture[string]("test.future")
|
||||
proc nativeHandler(conn: Connection, proto: string) {.async.} =
|
||||
var line = cast[string](await conn.readLp(1024))
|
||||
var line = string.fromBytes(await conn.readLp(1024))
|
||||
check line == test
|
||||
testFuture.complete(line)
|
||||
await conn.close()
|
||||
|
@ -300,11 +300,11 @@ suite "Interop":
|
|||
|
||||
var testFuture = newFuture[void]("test.future")
|
||||
proc nativeHandler(conn: Connection, proto: string) {.async.} =
|
||||
check "test 1" == cast[string](await conn.readLp(1024))
|
||||
await conn.writeLp(cast[seq[byte]]("test 2"))
|
||||
check "test 1" == string.fromBytes(await conn.readLp(1024))
|
||||
await conn.writeLp("test 2".toBytes())
|
||||
|
||||
check "test 3" == cast[string](await conn.readLp(1024))
|
||||
await conn.writeLp(cast[seq[byte]]("test 4"))
|
||||
check "test 3" == string.fromBytes(await conn.readLp(1024))
|
||||
await conn.writeLp("test 4".toBytes())
|
||||
|
||||
testFuture.complete()
|
||||
await conn.close()
|
||||
|
@ -325,10 +325,10 @@ suite "Interop":
|
|||
var stream = await daemonNode.openStream(nativePeer.peerId, protos)
|
||||
|
||||
asyncDiscard stream.transp.writeLp("test 1")
|
||||
check "test 2" == cast[string](await stream.transp.readLp())
|
||||
check "test 2" == string.fromBytes(await stream.transp.readLp())
|
||||
|
||||
asyncDiscard stream.transp.writeLp("test 3")
|
||||
check "test 4" == cast[string](await stream.transp.readLp())
|
||||
check "test 4" == string.fromBytes(await stream.transp.readLp())
|
||||
|
||||
await wait(testFuture, 10.secs)
|
||||
|
||||
|
@ -349,9 +349,9 @@ suite "Interop":
|
|||
var testFuture = newFuture[int]("test.future")
|
||||
proc nativeHandler(conn: Connection, proto: string) {.async.} =
|
||||
while count < 10:
|
||||
var line = cast[string](await conn.readLp(1024))
|
||||
var line = string.fromBytes(await conn.readLp(1024))
|
||||
check line == test
|
||||
await conn.writeLp(cast[seq[byte]](test))
|
||||
await conn.writeLp(test.toBytes())
|
||||
count.inc()
|
||||
|
||||
testFuture.complete(count)
|
||||
|
@ -376,7 +376,7 @@ suite "Interop":
|
|||
while count2 < 10:
|
||||
discard await stream.transp.writeLp(test)
|
||||
let line = await stream.transp.readLp()
|
||||
check test == cast[string](line)
|
||||
check test == string.fromBytes(line)
|
||||
inc(count2)
|
||||
|
||||
result = 10 == (await wait(testFuture, 1.minutes))
|
||||
|
|
|
@ -192,7 +192,7 @@ suite "Multistream select":
|
|||
let conn = newConnection(newTestLsStream(testLsHandler))
|
||||
let done = newFuture[void]()
|
||||
proc testLsHandler(proto: seq[byte]) {.async, gcsafe.} =
|
||||
var strProto: string = cast[string](proto)
|
||||
var strProto: string = string.fromBytes(proto)
|
||||
check strProto == "\x26/test/proto1/1.0.0\n/test/proto2/1.0.0\n"
|
||||
await conn.close()
|
||||
done.complete()
|
||||
|
@ -270,7 +270,7 @@ suite "Multistream select":
|
|||
|
||||
check (await msDial.select(conn, "/test/proto/1.0.0")) == true
|
||||
|
||||
let hello = cast[string](await conn.readLp(1024))
|
||||
let hello = string.fromBytes(await conn.readLp(1024))
|
||||
result = hello == "Hello!"
|
||||
await conn.close()
|
||||
|
||||
|
@ -366,7 +366,7 @@ suite "Multistream select":
|
|||
check (await msDial.select(conn,
|
||||
@["/test/proto/1.0.0", "/test/no/proto/1.0.0"])) == "/test/proto/1.0.0"
|
||||
|
||||
let hello = cast[string](await conn.readLp(1024))
|
||||
let hello = string.fromBytes(await conn.readLp(1024))
|
||||
result = hello == "Hello!"
|
||||
|
||||
await conn.close()
|
||||
|
@ -405,7 +405,7 @@ suite "Multistream select":
|
|||
|
||||
check (await msDial.select(conn, @["/test/proto2/1.0.0", "/test/proto1/1.0.0"])) == "/test/proto2/1.0.0"
|
||||
|
||||
result = cast[string](await conn.readLp(1024)) == "Hello from /test/proto2/1.0.0!"
|
||||
result = string.fromBytes(await conn.readLp(1024)) == "Hello from /test/proto2/1.0.0!"
|
||||
|
||||
await conn.close()
|
||||
await transport2.close()
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
{.used.}
|
||||
|
||||
import unittest, tables
|
||||
import chronos
|
||||
import chronos, stew/byteutils
|
||||
import chronicles
|
||||
import nimcrypto/sysrand
|
||||
import ../libp2p/crypto/crypto
|
||||
|
@ -41,7 +41,7 @@ type
|
|||
|
||||
method init(p: TestProto) {.gcsafe.} =
|
||||
proc handle(conn: Connection, proto: string) {.async, gcsafe.} =
|
||||
let msg = cast[string](await conn.readLp(1024))
|
||||
let msg = string.fromBytes(await conn.readLp(1024))
|
||||
check "Hello!" == msg
|
||||
await conn.writeLp("Hello!")
|
||||
await conn.close()
|
||||
|
@ -107,7 +107,7 @@ suite "Noise":
|
|||
await transport1.close()
|
||||
await transport2.close()
|
||||
|
||||
result = cast[string](msg) == "Hello!"
|
||||
result = string.fromBytes(msg) == "Hello!"
|
||||
|
||||
check:
|
||||
waitFor(testListenerDialer()) == true
|
||||
|
@ -127,7 +127,7 @@ suite "Noise":
|
|||
await conn.close()
|
||||
var msg = newSeq[byte](6)
|
||||
await sconn.readExactly(addr msg[0], 6)
|
||||
check cast[string](msg) == "Hello!"
|
||||
check string.fromBytes(msg) == "Hello!"
|
||||
readTask.complete()
|
||||
|
||||
let
|
||||
|
@ -218,7 +218,7 @@ suite "Noise":
|
|||
awaiters.add(await switch2.start())
|
||||
let conn = await switch2.dial(switch1.peerInfo, TestCodec)
|
||||
await conn.writeLp("Hello!")
|
||||
let msg = cast[string](await conn.readLp(1024))
|
||||
let msg = string.fromBytes(await conn.readLp(1024))
|
||||
check "Hello!" == msg
|
||||
await conn.close()
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{.used.}
|
||||
|
||||
import unittest
|
||||
import chronos
|
||||
import chronos, stew/byteutils
|
||||
import ../libp2p/[connection,
|
||||
transports/transport,
|
||||
transports/tcptransport,
|
||||
|
@ -35,7 +35,7 @@ suite "TCP transport":
|
|||
await streamTransport.closeWait()
|
||||
await transport.close()
|
||||
|
||||
result = cast[string](msg) == "Hello!"
|
||||
result = string.fromBytes(msg) == "Hello!"
|
||||
|
||||
check:
|
||||
waitFor(testListener()) == true
|
||||
|
@ -47,7 +47,7 @@ suite "TCP transport":
|
|||
proc connHandler(conn: Connection) {.async, gcsafe.} =
|
||||
var msg = newSeq[byte](6)
|
||||
await conn.readExactly(addr msg[0], 6)
|
||||
check cast[string](msg) == "Hello!"
|
||||
check string.fromBytes(msg) == "Hello!"
|
||||
await conn.close()
|
||||
handlerWait.complete()
|
||||
|
||||
|
@ -87,7 +87,7 @@ suite "TCP transport":
|
|||
let conn = await transport.dial(ma)
|
||||
var msg = newSeq[byte](6)
|
||||
await conn.readExactly(addr msg[0], 6)
|
||||
result = cast[string](msg) == "Hello!"
|
||||
result = string.fromBytes(msg) == "Hello!"
|
||||
|
||||
await handlerWait.wait(5000.millis) # when no issues will not wait that long!
|
||||
|
||||
|
@ -108,7 +108,7 @@ suite "TCP transport":
|
|||
transp: StreamTransport) {.async, gcsafe.} =
|
||||
var rstream = newAsyncStreamReader(transp)
|
||||
let msg = await rstream.read(6)
|
||||
check cast[string](msg) == "Hello!"
|
||||
check string.fromBytes(msg) == "Hello!"
|
||||
|
||||
await rstream.closeWait()
|
||||
await transp.closeWait()
|
||||
|
@ -159,7 +159,7 @@ suite "TCP transport":
|
|||
await transport2.close()
|
||||
await transport1.close()
|
||||
|
||||
result = cast[string](msg) == "Hello!"
|
||||
result = string.fromBytes(msg) == "Hello!"
|
||||
|
||||
check:
|
||||
waitFor(testListenerDialer()) == true
|
||||
|
@ -171,7 +171,7 @@ suite "TCP transport":
|
|||
proc connHandler(conn: Connection) {.async, gcsafe.} =
|
||||
var msg = newSeq[byte](6)
|
||||
await conn.readExactly(addr msg[0], 6)
|
||||
check cast[string](msg) == "Hello!"
|
||||
check string.fromBytes(msg) == "Hello!"
|
||||
await conn.close()
|
||||
handlerWait.complete()
|
||||
|
||||
|
|
Loading…
Reference in New Issue