Options
All
  • Public
  • Public/Protected
  • All
Menu

Class PacketIO

A utility class which implements the RotMG messaging protocol on top of a Socket.

Hierarchy

  • EventEmitter
    • PacketIO

Index

Constructors

constructor

  • Creates a new PacketIO instance.

    Parameters

    • Default value opts: object = { rc4: DEFAULT_RC4, packetMap: {} }

      The options to use for this instance.

    Returns PacketIO

Properties

Private _lastIncomingPacket

_lastIncomingPacket: Packet

Private _lastOutgoingPacket

_lastOutgoingPacket: Packet

Private eventHandlers

eventHandlers: Map<string, function>

Private outgoingQueue

outgoingQueue: Packet[]

packetMap

packetMap: PacketMap

A packet map object which can be used to resolve incoming and outgoing packet types.

Private reader

reader: Reader

Private receiveRC4

receiveRC4: RC4

Private sendRC4

sendRC4: RC4

socket

socket: Socket

The socket this packet interface is attached to.

Private writer

writer: Writer

Static defaultMaxListeners

defaultMaxListeners: number

Accessors

lastIncomingPacket

  • get lastIncomingPacket(): Packet

lastOutgoingPacket

  • get lastOutgoingPacket(): Packet

Methods

addListener

  • addListener(event: string | symbol, listener: function): this
  • Parameters

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

          • Rest ...args: any[]

          Returns void

    Returns this

attach

  • attach(socket: Socket): void
  • Attaches this Packet IO to the socket.

    Parameters

    • socket: Socket

      The socket to attach to.

    Returns void

Private constructPacket

  • Attempts to create a packet from the data contained in the reader buffer. No packet will be created if there is no event listener for the packet type.

    Returns Packet

detach

  • detach(): void
  • Detaches this Packet IO from its Socket.

    Returns void

Private drainQueue

  • drainQueue(): Promise<void>
  • Takes packets from the outgoing queue and writes them to the socket.

    Returns Promise<void>

emit

  • emit(event: string | symbol, ...args: any[]): boolean
  • Parameters

    • event: string | symbol
    • Rest ...args: any[]

    Returns boolean

Private emitError

  • emitError(error: Error): void
  • Emits an 'error' event if there are any listeners for it, or throws the error if there are no listeners.

    Parameters

    • error: Error

      The error to emit.

    Returns void

emitPacket

  • emitPacket(packet: Packet): void
  • Emits a packet from this PacketIO instance. This will only emit the packet to the clients subscribed to this particular PacketIO.

    Parameters

    • packet: Packet

      The packet to emit.

    Returns void

eventNames

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

getMaxListeners

  • getMaxListeners(): number
  • Returns number

listenerCount

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

    • type: string | symbol

    Returns number

listeners

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

    • event: string | symbol

    Returns Function[]

off

  • off(event: string | symbol, listener: function): this
  • Parameters

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

          • Rest ...args: any[]

          Returns void

    Returns this

on

  • on(event: string | symbol, listener: function): this
  • Parameters

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

          • Rest ...args: any[]

          Returns void

    Returns this

Private onData

  • onData(data: Buffer): void
  • Adds the data received from the socket to the reader buffer.

    Parameters

    • data: Buffer

      The data received.

    Returns void

once

  • once(event: string | symbol, listener: function): this
  • Parameters

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

          • Rest ...args: any[]

          Returns void

    Returns this

prependListener

  • prependListener(event: string | symbol, listener: function): this
  • Parameters

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

          • Rest ...args: any[]

          Returns void

    Returns this

prependOnceListener

  • prependOnceListener(event: string | symbol, listener: function): this
  • Parameters

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

          • Rest ...args: any[]

          Returns void

    Returns this

rawListeners

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

    • event: string | symbol

    Returns Function[]

removeAllListeners

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

    • Optional event: string | symbol

    Returns this

removeListener

  • removeListener(event: string | symbol, listener: function): this
  • Parameters

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

          • Rest ...args: any[]

          Returns void

    Returns this

Private resetBuffer

  • resetBuffer(): void
  • Resets the incoming packet buffer so that it is ready to receive the next packet header.

    Returns void

Private resetState

  • resetState(): void
  • Resets the reader buffer and the RC4 instances.

    Returns void

send

setMaxListeners

  • setMaxListeners(n: number): this
  • Parameters

    • n: number

    Returns this

Static listenerCount

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

    since v4.0.0

    Parameters

    • emitter: EventEmitter
    • event: string | symbol

    Returns number

Generated using TypeDoc