Ende.Conn
interface
interface Ende.Conn<A extends Addr = Addr> extends DisposableA generic stream-oriented network connection that can be read from and written to.
Properties
localAddr
readonly localAddr: AThe local address of the connection.
remoteAddr
readonly remoteAddr: AThe remote address of the connection.
readable
readonly readable: ReadableStream<Uint8Array<ArrayBuffer>>A ReadableStream of the data received over the connection.
writable
readonly writable: WritableStream<Uint8Array<ArrayBufferLike>>A WritableStream for sending data over the connection.
Methods
read
read(p: Uint8Array): Promise<number | null>Read the incoming data from the connection into an array buffer (p).
Resolves to either the number of bytes read during the operation or EOF
(null) if there was nothing more to read.
It is possible for a read to successfully return with 0 bytes. This
does not indicate EOF.
It is not guaranteed that the full buffer will be read in a single call.
// If the text "hello world" is received by the client:
const conn = await Ende.connect({ hostname: "example.com", port: 80 });
const buf = new Uint8Array(100);
const numberOfBytesRead = await conn.read(buf); // 11 bytes
const text = new TextDecoder().decode(buf); // "hello world"
write
write(p: Uint8Array): Promise<number>Write the contents of the array buffer (p) to the connection.
Resolves to the number of bytes written.
It is not guaranteed that the full buffer will be written in a single call.
const conn = await Ende.connect({ hostname: "example.com", port: 80 });
const encoder = new TextEncoder();
const data = encoder.encode("Hello world");
const bytesWritten = await conn.write(data); // 11
close
close(): voidCloses the connection, freeing the resource.
const conn = await Ende.connect({ hostname: "example.com", port: 80 });
// ...
conn.close();
closeWrite
closeWrite(): Promise<void>Shuts down (shutdown(2)) the write side of the connection. Most
callers should just use close().
ref
ref(): voidMake the connection block the event loop from finishing.
Note: the connection blocks the event loop from finishing by default.
This method is only meaningful after .unref() is called.
unref
unref(): voidMake the connection not block the event loop from finishing.