vecio

vectored io for nim

Pure Nim score 15/100 · tests present · no docs generated

Summary

Latest Version Unknown
License MIT
CI Status Failing
Downloads 0
Last Indexed 2026-07-21 05:24

Installation

nimble install vecio
choosenim install vecio
git clone https://github.com/emekoi/vecio.nim

OS Compatibility

Platform Linux macOS Windows FreeBSD OpenBSD NetBSD Android iOS WASM Embedded
vecio - - - - - - -

Source

Repository https://github.com/emekoi/vecio.nim
Homepage https://github.com/emekoi/vecio.nim
Registry Source nimble_official

README

vecio.nim

Build Status
vectored io for 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()