JavaScript APIs / oro:net

oro:net

oro:net provides Node-compatible TCP clients and servers.

Examples#

Build a TCP echo server with the Node-compatible net API:

import { createServer } from 'oro:net'

const server = createServer({}, (socket) => {
  socket.on('data', (chunk) => socket.write(chunk))
})

server.listen(4040, '127.0.0.1')

API reference#

Module specifiers#

oro:net

TypeScript declarations#

These declarations are generated from the runtime's published TypeScript surface.

oro:net#

declare module "oro:net" {
    export function createServer(options: any, connectionListener: any): TCPServer;
    export function createConnection(options: any, cb: any): TCPSocket;
    export function connect(options: any, cb: any): TCPSocket;
    class TCPServer extends EventEmitter {
        constructor(options: {}, connectionListener: any);
        id: bigint;
        _listening: boolean;
        _clients: Set<any>;
        _timeoutMs: number;
        _timeoutHandler: any;
        _defaults: {
            noDelay: boolean;
            keepAlive: boolean;
            keepAliveDelay: number;
        };
        listen(port: any, host: string, backlog: number, cb: any): this;
        _ondata: (ev: any) => void;
        setTimeout(ms: any, cb: any): this;
        close(cb: any): Promise<void>;
        getConnections(cb: any): number;
        waitClose(timeoutMs?: number): Promise<boolean>;
        address(): {
            address: any;
            port: any;
        };
    }
    class TCPSocket extends EventEmitter {
        constructor(id: any, opts: any);
        id: any;
        _reading: boolean;
        _destroyed: boolean;
        _connected: boolean;
        _connecting: boolean;
        _ended: boolean;
        _remote: {
            address: any;
            port: any;
        };
        _local: {
            address: any;
            port: any;
        };
        _writing: boolean;
        _queue: any[];
        _timeoutMs: number;
        _timeoutTimer: any;
        _writeHandler: (ev: any) => void;
        _inflight: {
            cb: any;
        };
        _bumpTimeout(): void;
        connect(port: any, host: string, cb: any): this;
        _connectHandler: (ev: any) => void;
        _startRead(): void;
        _globalHandler: (ev: any) => void;
        write(chunk: any, cb: any): boolean;
        _flushQueue(): void;
        address(): {
            address: any;
            port: any;
        };
        remoteAddressInfo(): {
            address: any;
            port: any;
        };
        get remoteAddress(): any;
        get remotePort(): any;
        setNoDelay(on?: boolean): boolean;
        setKeepAlive(on?: boolean, initialDelaySec?: number): boolean;
        end(chunk: any, cb: any): void;
        _onShutdown: (ev: any) => void;
        _endTimer: number;
        setTimeout(ms: any, cb: any): this;
        destroy(): void;
    }
    import { EventEmitter } from "oro:events";
    export {};
}

See also#

Source repository · Edit this page · View Markdown