mirror of
https://github.com/emekoi/vecio.nim
synced 2026-01-02 17:24:50 +00:00
No description
| docs | ||
| src | ||
| tests | ||
| .cirrus.yml | ||
| .gitignore | ||
| LICENSE | ||
| README.md | ||
| vecio.nimble | ||
vecio.nim
usage
just call readv or writev on a seq or array of strings, ptr strings, or seqs of uint8.
import net
import src/vecio
var server = newSocket()
server.setSockOpt(OptReuseAddr, true)
server.bindAddr(Port(3444))
server.listen()
block:
let
outgoing = newSocket()
buf = ["foo", "bar"]
outgoing.connect("localhost", Port(3444))
discard outgoing.writev(buf)
var
incomming = new Socket
one = newString(2)
two = newString(4)
# prevent the strings from being copied
one.shallow()
two.shallow()
var buf = [one, two]
server.accept(incomming)
discard incomming.readv(buf)
doAssert(buf == ["fo", "obar"])
server.close()