Class: Node
January 9, 2021 · View on GitHub
andesitejs / Exports / api/node/Node / Node
Class: Node
api/node/Node.Node
Hierarchy
- Node
Table of contents
Constructors
Properties
- #auth
- #host
- #manager
- #players
- #queue
- #reconnectTimeout
- #rest
- #status
- #ws
- connectionId
- currentReconnect
- eventBuffer
- id
- meta
- port
- reconnection
- secure
- stats
Accessors
Methods
- cleanUp
- close
- configureEventBuffer
- connect
- createPlayer
- debug
- destroyPlayer
- handleClose
- handleError
- handleMessage
- handleOpen
- processQueue
- queueReconnect
- reconnect
- send
- sendWs
Constructors
constructor
+ new Node(manager: PlayerManager, options: Required<NodeOptions>): Node
Parameters:
| Name | Type | Description |
|---|---|---|
manager | PlayerManager | The manager instance. |
options | Required<NodeOptions> | The options for this node. |
Returns: Node
Defined in: api/node/Node.ts:128
Properties
#auth
• Private Optional Readonly #auth: undefined | string
The password for the andesite instance.
Defined in: api/node/Node.ts:116
#host
• Private Readonly #host: string
The host of the andesite instance.
Defined in: api/node/Node.ts:110
#manager
• Private Readonly #manager: PlayerManager
The manager instance.
Defined in: api/node/Node.ts:128
#players
• Private Readonly #players: Map<string, Player>
The active players for this node.
Defined in: api/node/Node.ts:122
#queue
• Private Readonly #queue: unknown[]
Queue for outgoing messages.
Defined in: api/node/Node.ts:104
#reconnectTimeout
• Private #reconnectTimeout: null | Timeout= null
The timeout for reconnecting.
Defined in: api/node/Node.ts:81
#rest
• Private #rest: null | REST= null
The rest manager.
Defined in: api/node/Node.ts:98
#status
• Private #status: NodeStatus
The current status of this node.
Defined in: api/node/Node.ts:92
#ws
• Optional Private #ws: undefined | WebSocket
The websocket instance.
Defined in: api/node/Node.ts:86
connectionId
• Optional connectionId: undefined | number
The resume id for this node.
Defined in: api/node/Node.ts:60
currentReconnect
• currentReconnect: number= 0
The current reconnection try this node is on, or 0 if this player hasn't closed.
Defined in: api/node/Node.ts:55
eventBuffer
• Optional eventBuffer: undefined | number
When a connection is closed, events will be buffered for up to the timeout specified here.
Defined in: api/node/Node.ts:65
id
• Readonly id: string | number
The identifier for this node.
Defined in: api/node/Node.ts:35
meta
• Optional meta: undefined | NodeMetadata
The metadata of the andesite-instance.
Defined in: api/node/Node.ts:70
port
• Optional Readonly port: undefined | number
The configured port of the andesite instance.
Defined in: api/node/Node.ts:45
reconnection
• Readonly reconnection: Required<ReconnectionOptions>
The reconnection options for this node.
Defined in: api/node/Node.ts:50
secure
• Readonly secure: boolean
Whether to use wss/https
Defined in: api/node/Node.ts:40
stats
• Optional stats: undefined | NodeStats
The stats of the andesite-instance.
Defined in: api/node/Node.ts:75
Accessors
auth
• auth(): undefined | string
The authorization for this andesite instance.
Returns: undefined | string
Defined in: api/node/Node.ts:177
connected
• connected(): boolean
Whether the websocket is open / connected.
Returns: boolean
Defined in: api/node/Node.ts:217
host
• host(): string
The host of this andesite instance.
Returns: string
Defined in: api/node/Node.ts:170
manager
• manager(): PlayerManager
The manager instance.
Returns: PlayerManager
Defined in: api/node/Node.ts:191
penalties
• penalties(): number
Penalties of this node. The higher the return number, the larger load the andesite instance is handling.
Returns: number
Defined in: api/node/Node.ts:199
players
• players(): Map<string, Player>
The active players for this node.
Returns: Map<string, Player>
Defined in: api/node/Node.ts:163
rest
• rest(): REST
The rest manager for this node.
Returns: REST
Defined in: api/node/Node.ts:152
status
• status(): NodeStatus
The current status of this node.
Returns: NodeStatus
Defined in: api/node/Node.ts:184
Methods
cleanUp
▸ PrivatecleanUp(): void
Cleans up the websocket listeners.
since 1.0.0
Returns: void
Defined in: api/node/Node.ts:392
close
▸ close(reason?: string): Promise<void>
Closes the websocket connection.
Parameters:
| Name | Type | Default value |
|---|---|---|
reason | string | "destroy" |
Returns: Promise<void>
Defined in: api/node/Node.ts:283
configureEventBuffer
▸ configureEventBuffer(timeout: number): Promise<number>
Configure the event buffer for this session.
Parameters:
| Name | Type | Description |
|---|---|---|
timeout | number | Timeout for event buffering, in milliseconds |
Returns: Promise<number>
Defined in: api/node/Node.ts:270
connect
▸ connect(userId: string): Promise<Node>
Connect this node to the andesite instance.
Parameters:
| Name | Type |
|---|---|
userId | string |
Returns: Promise<Node>
Defined in: api/node/Node.ts:296
createPlayer
▸ createPlayer(guildId: string, transport?: PlayerTransport): Player
Creates a new player with the provided guildId and transport.
Parameters:
| Name | Type | Default value | Description |
|---|---|---|---|
guildId | string | - | The guild id. |
transport | PlayerTransport | "websocket" | The transport to use. |
Returns: Player
Defined in: api/node/Node.ts:227
debug
▸ Privatedebug(message: string): void
Emits a debug message.
Parameters:
| Name | Type | Description |
|---|---|---|
message | string | The debug message. |
Returns: void
Defined in: api/node/Node.ts:358
destroyPlayer
▸ destroyPlayer(guildId: string): Promise<boolean>
Destroys a player that is assigned the provided guild id.
Parameters:
| Name | Type | Description |
|---|---|---|
guildId | string | Guild ID of the player to destroy. |
Returns: Promise<boolean>
Defined in: api/node/Node.ts:245
handleClose
▸ PrivatehandleClose(event: CloseEvent): Promise<undefined | Timeout>
Handles the "close" websocket event.
Parameters:
| Name | Type | Description |
|---|---|---|
event | CloseEvent | The event data. |
Returns: Promise<undefined | Timeout>
Defined in: api/node/Node.ts:490
handleError
▸ PrivatehandleError(event: ErrorEvent): Promise<void>
Handles the "error" websocket event.
Parameters:
| Name | Type | Description |
|---|---|---|
event | ErrorEvent | The event data. |
Returns: Promise<void>
Defined in: api/node/Node.ts:505
handleMessage
▸ PrivatehandleMessage(__namedParameters: MessageEvent): Promise<void>
Handles the "message" websocket event.
Parameters:
| Name | Type |
|---|---|
__namedParameters | MessageEvent |
Returns: Promise<void>
Defined in: api/node/Node.ts:440
handleOpen
▸ PrivatehandleOpen(): Promise<void>
Handles the "open" websocket event.
Returns: Promise<void>
Defined in: api/node/Node.ts:418
processQueue
▸ PrivateprocessQueue(): Promise<void>
Processes all of the queued payloads.
Returns: Promise<void>
Defined in: api/node/Node.ts:368
queueReconnect
▸ ProtectedqueueReconnect(): Timeout
queues a reconnect.
Returns: Timeout
Defined in: api/node/Node.ts:405
reconnect
▸ reconnect(): Promise<void>
Reconnects to the andesite instance.
Returns: Promise<void>
Defined in: api/node/Node.ts:333
send
▸ Privatesend(payload: unknown): Promise<void>
Sends a payload to the andesite instance.
Parameters:
| Name | Type |
|---|---|
payload | unknown |
Returns: Promise<void>
Defined in: api/node/Node.ts:516
sendWs
▸ sendWs(data: { op: string } & Record<string, any>, prioritize?: boolean): Promise<void>
Send a packet to the andesite instance.
Parameters:
| Name | Type | Default value | Description |
|---|---|---|---|
data | { op: string } & Record<string, any> | - | The packet data |
prioritize | boolean | false | Whether to prioritize this packet. |
Returns: Promise<void>
Defined in: api/node/Node.ts:260