Socket
Book a DemoInstallSign in
Socket

udx-native-nodejs-mobile

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

udx-native-nodejs-mobile

udx is reliable, multiplex, and congestion controlled streams over udp

latest
Source
npmnpm
Version
1.5.1-4
Version published
Maintainers
1
Created
Source

libudx

udx is reliable, multiplex, and congestion controlled streams over udp.

It's written in C99 and depends on libuv.

It is pre-alpha wip (there be dragons), but at a stage where it's safe for developers to poke at.

The main purpose is to be a building block for P2P networking. It therefore doesn't come with any handshaking protocol, encryption, and things like that - just reliable, fast, streams.

API

TODO

Node.js bindings

npm install udx-native

Building

Two build setups are available: A GYP build and a CMake build.

GYP

The GYP build is used for building a dynamic library for use in Node.js.

node-gyp configure
node-gyp build

The above commands are run as part of npm install.

CMake

The CMake build is used for building static and dynamic libraries for use outside of Node.js.

cmake -S . -B build
cmake --build build

Debugging

When debugging native code, make sure to configure a debug build:

# GYP
node-gyp configure --debug

# CMake
cmake -S . -B build -D CMAKE_BUILD_TYPE=Debug

Memory errors

To diagnose and debug memory errors, such as leaks and use-after-free, the collection of sanitizers provided by LLVM are recommended. The sanitizers can be enabled by passing additional CFLAGS and/or LDFLAGS to the CMake or GYP build:

# GYP
CFLAGS=<...> LDFLAGS=<...> node-gyp build

# CMake
CFLAGS=<...> LDFLAGS=<...> cmake -S . -B build

To read more about the various sanitizers and how to use them, see:

:warning: LeakSanitizer is still experimental and currently requires a newer version of LLVM on macOS. If using Homebrew, brew install llvm and CC=/usr/local/opt/llvm/bin/clang should be sufficient.

LICENSE

MIT

Keywords

tcp

FAQs

Package last updated on 23 Jan 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts