OverviewFilesCommitsIssuesDocsReleasesPeers

holepunchto-kb / skills / udx-native / api-extract.json

54 lines · json ref:
{
  "repo": "udx-native",
  "timestamp": "2026-01-16T23:39:44.892Z",
  "entryPoint": "lib/udx.js",
  "exports": {
    "packageJson": {
      "main": "lib/udx.js"
    }
  },
  "api": {
    "file": "lib/udx.js",
    "exports": [
      {
        "type": "default",
        "name": "class"
      }
    ],
    "classes": [
      {
        "name": "UDX"
      }
    ],
    "functions": [
      {
        "name": "onlookup"
      }
    ]
  },
  "readme": {
    "content": "# udx-native\n\nudx is reliable, multiplexed, and congestion-controlled streams over udp.\n\n```\nnpm i udx-native\n```\n\nIt's a transport protocol, made only for peer-to-peer networking.\n\nNo handshakes. No encryption. No features. This is good for P2P.\\\nJust fast streams and messages that are composable into powerful things.\n\n## Usage\n\n```js\nconst UDX = require('udx-native')\n\nconst u = new UDX()\nconst a = u.createSocket()\nconst b = u.createSocket()\n\nb.on('message', function (message) {\n  console.log('received', message.toString())\n  a.close()\n  b.close()\n})\n\nb.bind(0)\na.send(Buffer.from('hello'), b.address().port)\n```\n\n```js\nconst UDX = require('udx-native')\n\nconst u = new UDX()\n\nconst socket1 = u.createSocket()\nconst socket2 = u.createSocket()\n\nsocket1.bind()\nsocket2.bind()\n\nconst stream1 = u.createStream(1)\nconst stream2 = u.createStream(2)\n\nstream1.connect(socket1, stream2.id, socket2.address().port, '127.0.0.1')\nstream2.connect(socket2, stream1.id, socket1.address().port, '127.0.0.1')\n\ns",
    "sections": [
      "intro",
      "usage",
      "api",
      "sockets",
      "streams",
      "network interfaces",
      "dns",
      "dev setup",
      "license"
    ],
    "hasApi": true,
    "hasExamples": true,
    "exampleCount": 8,
    "examples": [
      "npm i udx-native",
      "const UDX = require('udx-native')\n\nconst u = new UDX()\nconst a = u.createSocket()\nconst b = u.createSocket()\n\nb.on('message', function (message) {\n  console.log('received', message.toString())\n  a.close()\n  b.close()\n})\n\nb.bind(0)\na.send(Buffer.from('hello'), b.address().port)",
      "const UDX = require('udx-native')\n\nconst u = new UDX()\n\nconst socket1 = u.createSocket()\nconst socket2 = u.createSocket()\n\nsocket1.bind()\nsocket2.bind()\n\nconst stream1 = u.createStream(1)\nconst stream2 = u.createStream(2)\n\nstream1.connect(socket1, stream2.id, socket2.address().port, '127.0.0.1')\nstream2.connect(socket2, stream1.id, socket1.address().port, '127.0.0.1')\n\nstream1.write(Buffer.from('hello'))\nstream1.end()\n\nstream2.on('data', function (data) {\n  console.log(data)\n})\n\nstream2.on('end', function () {\n  stream2.end()\n})\n\nstream1.on('close', function () {\n  console.log('stream1 closed')\n  socket1.close()\n})\n\nstream2.on('close', function () {\n  console.log('stream2 closed')\n  socket2.close()\n})"
    ]
  },
  "patterns": [
    "streaming"
  ]
}