holepunchto / libudx Goto Github PK
View Code? Open in Web Editor NEWudx is reliable, multiplexed, and congestion-controlled streams over udp
License: MIT License
udx is reliable, multiplexed, and congestion-controlled streams over udp
License: MIT License
hey! writing this issue just to keep track.
In order to have portable js we would need to find isomorphic (is that the official naming?) solutions or having our own.
eg. in react-native
we don't have:
Error.captureStackTrace
https://github.com/hyperswarm/libudx/blob/093f0a88ba714c907214b343cfb6f3822cd1140e/lib/udx.js#L84Buffer.allocUnsafe
https://github.com/hyperswarm/libudx/blob/6d541cdc75baa0dcd3477255019633a393417eee/lib/stream.js#L294some shims / polyfills do exist, but you know...
Implement io.h
for Windows.
We should be able to piggy bag on RACK heuristics implemented in #118 to add padding to appropriate packages, incrementally discovering the optimal MTU for a connection. @mafintosh likely has more details.
ie, check if stream/socket is closing/destroyed etc in the apis and return an error
i managed to tu hyperswarm 3 replacing utp-native with https://github.com/staltz/utp-native-nodejs-mobile
what could be the workaround for the hyperswarm version 4?
Feels like this layer is leaking memory sometimes, we should investigate
Seems like we might have a bug during start if a lot of packets are sent, one might get dropped and somehow not recovered
I am currently investigating an issue with Hyperswarm, where it is unable to establish a connection between two Docker containers running on different machines on different networks and connected to their respective "bridge" interface (note: when one of the two machines uses "--network host" the connection is established, but this workaround is undesirable for several reasons).
The issue seems to be caused by libudx defaulting to binding to an IPv6 socket, which works within the containers but causes incoming packets to be dropped.
This may be due to IPv6 being disabled by default on the Docker daemon.
By forcing the use of IPv4 in the code below, the issue can be resolved.
If IPv6 needs to be the default, i think a flag should be added to the library, allowing the software using it to force IPv4 when running on platforms with this issue.
Lines 133 to 141 in 9a1760a
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.