Options
All
  • Public
  • Public/Protected
  • All
Menu

Class LibBot

Provides delivery and ordering guarantees for given Buffer messages with minimal overhead and few additional messages (depending on the options).

Hierarchy

  • LibBot

Index

Constructors

constructor

  • new LibBot(options?: LibBotOptions): LibBot

Properties

Private inTransition

inTransition: boolean

True if LibBot is currently looping seq numbers

maxEmittedSeq

maxEmittedSeq: number

highest received and emitted (received all messages up to this point)

maxIncSeq

maxIncSeq: number

highest seq received so far

maxSendAck

maxSendAck: number

maximum acknowledgement sent so far

maxSendAckKnownReceived

maxSendAckKnownReceived: number

highest ack that was sent and is known to have been received

maxSendSeq

maxSendSeq: number

maximum sequence number sent so far

maxSendSeqKnownReceived

maxSendSeqKnownReceived: number

highest sent seq known to have been received (may be missing some messages)

Private Readonly options

options: LibBotOptions

Private recSeqOffset

recSeqOffset: number

Private Readonly received

received: Map<number, Buffer>

received but not emitted (waiting for correct order)

Private Readonly sendFail

sendFail: Map<number, Buffer>

Known failed delivery

Private Readonly sent

sent: Map<number, { buf: Buffer; maxAck?: number }>

Sent and unacknowledged (under maxAck)

Accessors

failedReceiveMessageCount

  • get failedReceiveMessageCount(): number
  • Number of incomingmessages that are known to have been lost (from received seq).

    Returns number

failedSendMessageCount

  • get failedSendMessageCount(): number
  • Number of outgoing messages that are known to have been lost after sending (from received acks).

    Returns number

unackedMessageCount

  • get unackedMessageCount(): number
  • Messages that have been sent, but not yet acked.

    Returns number

Methods

getAcks

  • getAcks(): number[]
  • Get the current array of acknowledgements

    function

    getAcks

    Returns number[]

    acks

getLibState

  • getLibState(): string

receiveMessages

  • A new message has been received from the other side

    function

    receiveMessage

    Parameters

    • bufs: Buffer[]

    Returns [Buffer[], ReceivedMessage[]]

    An array of messages to send and the processed received messages

send

  • send(buf?: Buffer): Buffer
  • Send a message to the other side

    function

    send

    Parameters

    • buf: Buffer = ...

    Returns Buffer

    Message to forward to the other side

sendAcks

  • sendAcks(): Buffer
  • Send an empty message that contains only acks

    function

    sendAcks send

    Returns Buffer

    Messages to forward to the other side

sendFailedMessages

  • sendFailedMessages(): Buffer[]
  • Resend messages that are known to have been lost.

    function

    sendFailedMessages send

    Returns Buffer[]

    Messages to forward to the other side

Generated using TypeDoc