netstring

0.3.0 • Public • Published

A braindead module for reading and writing netstrings.

API

nsWriteLength(len)

Compute the number of bytes to required serialize a netstring with the len bytes.

nsWrite(pay, payStart = 0, payEnd = pay.length, buf = undefined, bufOff = 0)

Write the payload pay out in netstring format, returning a string. The payStart and payEnd parameters allow specifying a range for the payload and default to the entire object. Like Buffer.slice(), this payStart is inclusive and payEnd is exclusive. The pay parameter can be either a string or a Buffer object.

If the buf parameter is specified, the netstring is written to this buffer rather than returned as a string. The bufOff parameter allows specifying the offset into the buffer at which to begin writing. The length of the resulting netstring in bytes is returned.

nsPayload(buf, off = 0)

Get the payload of the netstring pointed to by the given buf object at offset off. Despite its name, buf, can be either a string or a Buffer. The returned value will be of the same type as the buf parameter or a negative integer value in following the error taxonomy of nsPayloadLength().

nsPayloadLength(buf, off = 0)

Get the length of the payload pointed to by the given buf object at offset off. Despite its name, buf, can be either a string or a Buffer. The length returned is only that of the payload; it does not include the header or footer. The returned value will be -1 if the buffer does not include enough data to make a complete length calculation.

nsLength(buf, off = 0)

Get the length of the netstring pointed to by the given buf object at offset off. Despite its name, buf, can be either a string or a Buffer. The length returned includes the length of the header and footer in addition to the payload. Negative values follow the taxonomy from nsPayloadLength().

Dependencies (0)

    Dev Dependencies (1)

    Package Sidebar

    Install

    npm i netstring

    Weekly Downloads

    453

    Version

    0.3.0

    License

    none

    Last publish

    Collaborators

    • pgriess
    • dtrejo