Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Telnet

A state machine that implements the telnet specification and calls out into web assembly to encode and decode messages from a socket.

Hierarchy

  • EventEmitter
    • Telnet

Index

Constructors

constructor

Properties

Private _toFree

_toFree: number[] = []

A collection of pointers to be freed when this Telnet object is disposed.

Private pointer

pointer: number

This is an internal pointer to the heap where the telnet object is contained in c.

Static defaultMaxListeners

defaultMaxListeners: number

Static Private map

map: Map<number, Telnet> = new Map<number, Telnet>()

A map of pointers to their respective Telnet objects for event routing.

Static ready

ready: Promise<void> = ready

When the runtime is finally initialized, this promise will resolve, and telnet objects can finally be instantiated.

Methods

addListener

  • addListener(event: string | symbol, listener: (...args: any[]) => void): this
  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns this

beginCompress2

  • beginCompress2(): void

dispose

  • dispose(): void
  • Call this method when the connection is disposed or you will have memory leaks.

    Returns void

emit

  • Emit a "mssp" event with a mssp event object.

    Parameters

    Returns boolean

  • Emit a "environ" event with a environ event object.

    Parameters

    Returns boolean

  • Emit a "compress" event with a compress event object.

    Parameters

    Returns boolean

  • Emit a "ttype" event with a ttype event object.

    Parameters

    Returns boolean

  • Emit a "zmp" event with a zmp event object.

    Parameters

    Returns boolean

  • Emit a "sb" event with a sb event object.

    Parameters

    Returns boolean

  • Emit a "error" event with a error event object.

    Parameters

    Returns boolean

  • Emit a "send" event with a data event object.

    Parameters

    Returns boolean

  • Emit a "data" event with a data event object.

    Parameters

    Returns boolean

  • Emit a "iac" event with a iac event object.

    Parameters

    Returns boolean

  • Emit a "negotiate" event with a negotiate event object.

    Parameters

    Returns boolean

eventNames

  • eventNames(): Array<string | symbol>
  • Returns Array<string | symbol>

getMaxListeners

  • getMaxListeners(): number
  • Returns number

iac

  • Whenever an IAC event must be emitted, this method will automatically generate a SEND event.

    Format: [IAC, CMD]

    Parameters

    Returns void

listenerCount

  • listenerCount(type: string | symbol): number
  • Parameters

    • type: string | symbol

    Returns number

listeners

  • listeners(event: string | symbol): Function[]
  • Parameters

    • event: string | symbol

    Returns Function[]

negotiate

off

  • off(event: string | symbol, listener: (...args: any[]) => void): this
  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns this

on

  • on(event: "mssp", listener: (data: IMSSPEvent) => void): this
  • on(event: "environ", listener: (data: IEnvironEvent) => void): this
  • on(event: "compress", listener: (data: ICompressEvent) => void): this
  • on(event: "ttype", listener: (data: ITType) => void): this
  • on(event: "zmp", listener: (data: IZMPEvent) => void): this
  • on(event: "sb", listener: (data: ISubnegotiationEvent) => void): this
  • on(event: "error", listener: (data: IErrorEvent) => void): this
  • on(event: "send", listener: (data: IDataEvent) => void): this
  • on(event: "data", listener: (data: IDataEvent) => void): this
  • on(event: "iac", listener: (data: IIACEvent) => void): this
  • on(event: "negotiate", listener: (data: INegotiationEvent) => void): this
  • Listen for an mssp event. The callback accepts a mssp event object.

    Parameters

    Returns this

  • Listen for an environ event. The callback accepts a environ event object.

    Parameters

    Returns this

  • Listen for an compress event. The callback accepts a compress event object.

    Parameters

    Returns this

  • Listen for an ttype event. The callback accepts a ttype event object.

    Parameters

    • event: "ttype"
    • listener: (data: ITType) => void

    Returns this

  • Listen for an zmp event. The callback accepts a zmp event object.

    Parameters

    Returns this

  • Listen for an sb event. The callback accepts a sb event object.

    Parameters

    Returns this

  • Listen for an error event. The callback accepts a error event object.

    Parameters

    Returns this

  • Listen for a send event. The callback accepts a data event object with a payload. This payload must be written to the socket immediately, because the data will be freed by the runtime after the event fires.

    Parameters

    Returns this

  • Listen for a data event. The callback accepts a data event object. This payload must be treated as a telnet message or copied immediately, because the data will be freed by the runtime after the event fires.

    Parameters

    Returns this

  • Listen for an iac event. The callback accepts a iac event object.

    Parameters

    Returns this

  • Listen for a DO, DONT, WILL or WONT event. The callback accepts a NegotiationEvent object.

    Parameters

    Returns this

once

  • once(event: string | symbol, listener: (...args: any[]) => void): this
  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns this

prependListener

  • prependListener(event: string | symbol, listener: (...args: any[]) => void): this
  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns this

prependOnceListener

  • prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this
  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns this

rawListeners

  • rawListeners(event: string | symbol): Function[]
  • Parameters

    • event: string | symbol

    Returns Function[]

receive

  • receive(bytes: ArrayLike<number>): void
  • Whenever a socket receives a message, call this method with the array of bytes that were received.

    Parameters

    • bytes: ArrayLike<number>

      An arraylike reference that contains byte values.

    Returns void

removeAllListeners

  • removeAllListeners(event?: string | symbol): this
  • Parameters

    • Optional event: string | symbol

    Returns this

removeListener

  • removeListener(event: string | symbol, listener: (...args: any[]) => void): this
  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns this

send

  • send(buffer: ArrayLike<number>): void
  • Send raw bytes through telnet so that the bytes are encoded properly.

    Parameters

    • buffer: ArrayLike<number>

      The data to be sent.

    Returns void

sendText

  • sendText(str: string): void
  • Send a string encoded to ASCII through telnet.

    Parameters

    • str: string

      The string to be sent.

    Returns void

setMaxListeners

  • setMaxListeners(n: number): this
  • Parameters

    • n: number

    Returns this

subnegotiation

  • subnegotiation(telopt: TelnetOption, data: ArrayLike<number>): void
  • Send a subnegotiation event through telnet.

    Parameters

    • telopt: TelnetOption

      The telnet option for subnegotiation.

    • data: ArrayLike<number>

      The data to be encoded.

    Returns void

zmp

  • zmp(command: string, args?: string[]): void
  • Send a ZMP command, and a list of optional arguments.

    Parameters

    • command: string
    • Default value args: string[] = []

    Returns void

Static getEvent

Static listenerCount

  • listenerCount(emitter: EventEmitter, event: string | symbol): number
  • deprecated

    since v4.0.0

    Parameters

    • emitter: EventEmitter
    • event: string | symbol

    Returns number

Static route

  • route(telnet: number, eventPointer: number): boolean
  • A routing function that gets called from web assembly when a Telnet object must fire an event.

    Parameters

    • telnet: number
    • eventPointer: number

    Returns boolean

Generated using TypeDoc