react-native-tcp-socket
react-native-tcp-socket copied to clipboard
fix: Allow client.write() when pending
Thanks for this library. I've tried to use it with another library which essentially does:
const net = require("net");
const client = net.createConnection({ port: 1883, host: "example.com" });
client.write("Hello, server!");
The above code works in node without raising an error, but in this library it throws the 'Socket is closed.' error. This change resolves the issue and queues up the writes until the socket connects.
@jamesthomp, thanks for the PR!
However, this does not match NodeJS behaviour, as client.write("Hello, server!"); must true if the highWaterMark is not yet met. We must make sure to follow NodeJS' docs:
The return value is true if the internal buffer is less than the highWaterMark configured when the stream was created after admitting chunk. If false is returned, further attempts to write data to the stream should stop until the 'drain' event is emitted.