Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Peer

Peer is the main class of Roletalk framework. Peer can be instantiated with counstructor. You can also use Singleton to retrieve a peer instance shared with other modules.

Hierarchy

  • EventEmitter
    • Peer

Index

Constructors

constructor

Events

on

  • on(event: "close", handler: () => void): Peer
  • on(event: "unit", handler: (unit: Unit) => void): Peer
  • on(event: "role", handler: (role: Role) => void): Peer
  • Not tested yet. Event 'close' is dispatched when last connection gets closed and server stops listening

    Parameters

    • event: "close"
    • handler: () => void
        • (): void
        • Returns void

    Returns Peer

  • Event 'unit' is dispatched when peer gets connected to a unit

    Parameters

    • event: "unit"
    • handler: (unit: Unit) => void
        • (unit: Unit): void
        • Parameters

          Returns void

    Returns Peer

  • Event 'role' is dispatched when new role is registered

    Parameters

    • event: "role"
    • handler: (role: Role) => void
        • (role: Role): void
        • Parameters

          Returns void

    Returns Peer

Properties

friendly

friendly: boolean

name

name: string

Readonly Static captureRejectionSymbol

captureRejectionSymbol: typeof captureRejectionSymbol

Static captureRejections

captureRejections: boolean

Sets or gets the default captureRejection value for all emitters.

Static defaultMaxListeners

defaultMaxListeners: number

Readonly Static errorMonitor

errorMonitor: typeof errorMonitor

This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

Installing a listener using this symbol does not change the behavior once an 'error' event is emitted, therefore the process will still crash if no regular 'error' listener is installed.

Accessors

destinations

id

  • get id(): string
  • Get peer's unique identifier. It is generated when Peer is being instantiated

    Returns string

roles

  • get roles(): Role[]

units

  • get units(): Unit[]

Methods

addListener

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

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

          • Rest ...args: any[]

          Returns void

    Returns Peer

addPresharedKey

  • addPresharedKey(id: string, key: string): Peer
  • Add secret key bound to id. After a key is added, this peer will not be authenticated with any other peer unless some common id:key pair is equal

    Parameters

    • id: string
    • key: string

    Returns Peer

close

  • close(cb?: (err?: Error) => void): undefined | Server | Server
  • Close all incoming connections and stop listening http server. Provide optional cb argument to run callback when internal server stops listening

    Parameters

    • Optional cb: (err?: Error) => void
        • (err?: Error): void
        • Parameters

          • Optional err: Error

          Returns void

    Returns undefined | Server | Server

connect

  • connect(address: string, options?: ClientOptions & ConnectOptions, cb?: (err?: Error, res?: { unit: Unit; ws: WebSocket }) => void): Promise<{ unit: Unit; ws: WebSocket }>
  • Connect to another peer using WebSocket. Options can be used to override [[WebSocket.ClientOptions]]. Set options.permanent = false if connection is not supposed to reconnect after abort

    Parameters

    • address: string
    • Optional options: ClientOptions & ConnectOptions
    • Optional cb: (err?: Error, res?: { unit: Unit; ws: WebSocket }) => void
        • (err?: Error, res?: { unit: Unit; ws: WebSocket }): void
        • Parameters

          • Optional err: Error
          • Optional res: { unit: Unit; ws: WebSocket }
            • unit: Unit
            • ws: WebSocket

          Returns void

    Returns Promise<{ unit: Unit; ws: WebSocket }>

destination

  • Destination is remote peer's role

    Parameters

    • name: string

      target name

    Returns Destination

    class destination

emit

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

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

    Returns boolean

eventNames

  • eventNames(): (string | symbol)[]
  • Returns (string | symbol)[]

getMaxListeners

  • getMaxListeners(): number
  • Returns number

handleUpgrade

  • handleUpgrade(request: IncomingMessage, socket: Socket, upgradeHead: Buffer): void
  • Attach to existing http.Server instance

    Example: peer.prepareWSServer() server.on("upgrade", (request, socket, head) => { peer.handleUpgrade(request, socket, head) })

    Parameters

    • request: IncomingMessage
    • socket: Socket
    • upgradeHead: Buffer

    Returns void

listen

  • Listen to incoming connections. Starts HTTP(S) server listening immediately.

    Parameters

    Returns Promise<Peer>

listenerCount

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

    • event: string | symbol

    Returns number

listeners

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

    • event: string | symbol

    Returns Function[]

off

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

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

          • Rest ...args: any[]

          Returns void

    Returns Peer

onData

onMessage

  • Set handler to all incoming messages for all roles. Can be used in middleware

    Parameters

    Returns void

onReadable

  • Set middleware for incoming request for receiving stream data for all roles

    Parameters

    Returns void

onRequest

  • Set handler for all incoming request for all roles. Can be used in middlewares

    Parameters

    Returns void

onWritable

  • Set middleware for incoming request for sending stream data for all roles

    Parameters

    Returns void

once

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

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

          • Rest ...args: any[]

          Returns void

    Returns Peer

prepareWSServer

  • prepareWSServer(): void
  • Instantiate websocket server. Use with .handleUpgrade

    Returns void

prependListener

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

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

          • Rest ...args: any[]

          Returns void

    Returns Peer

prependOnceListener

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

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

          • Rest ...args: any[]

          Returns void

    Returns Peer

rawListeners

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

    • event: string | symbol

    Returns Function[]

removeAllListeners

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

    • Optional event: string | symbol

    Returns Peer

removeListener

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

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

          • Rest ...args: any[]

          Returns void

    Returns Peer

role

  • role(name: string, active?: boolean): Role
  • Declare Role - service with its own name to handle incoming messages/requests/streams

    Parameters

    • name: string
    • Optional active: boolean

    Returns Role

setMaxListeners

  • setMaxListeners(n: number): Peer
  • Parameters

    • n: number

    Returns Peer

Static listenerCount

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

    since v4.0.0

    Parameters

    • emitter: EventEmitter
    • event: string | symbol

    Returns number

Static on

  • on(emitter: EventEmitter, event: string): AsyncIterableIterator<any>
  • Parameters

    • emitter: EventEmitter
    • event: string

    Returns AsyncIterableIterator<any>

Static once

  • once(emitter: NodeEventTarget, event: string | symbol): Promise<any[]>
  • once(emitter: DOMEventTarget, event: string): Promise<any[]>
  • Parameters

    • emitter: NodeEventTarget
    • event: string | symbol

    Returns Promise<any[]>

  • Parameters

    • emitter: DOMEventTarget
    • event: string

    Returns Promise<any[]>

Generated using TypeDoc