new Tracker(app, config, logger, filer, runner, ini, crypter, connectionsList)
Create the service
Parameters:
| Name | Type | Description |
|---|---|---|
app |
App | Application |
config |
object | Configuration |
logger |
Logger | Logger service |
filer |
Filer | Filer service |
runner |
Runner | Runner service |
ini |
Ini | Ini service |
crypter |
Crypter | Crypter service |
connectionsList |
ConnectionsList | Connections List service |
Members
-
<static> provides :string
-
Service name is 'servers.tracker'
Type:
- string
-
<static> requires :Array.<string>
-
Dependencies as constructor arguments
Type:
- Array.<string>
-
<static> connectTimeout :number
-
Connect timeout
Type:
- number
-
<static> pingTimeout :number
-
Will send keep alive at this interval
Type:
- number
-
<static> pongTimeout :number
-
No data in socket timeout
Type:
- number
-
<static> reconnectPause :number
-
Pause when reconnecting to tracker
Type:
- number
-
<static> trackerSection
-
Tracker section delimiter in config
-
_peer
-
Retrieve peer server
Methods
-
<async> init(name)
-
Initialize the server
Parameters:
Name Type Description namestring Config section name Returns:
- Type
- Promise
-
<async> start(name)
-
Start the server
Parameters:
Name Type Description namestring Config section name Returns:
- Type
- Promise
-
<async> stop(name)
-
Stop the server
Parameters:
Name Type Description namestring Config section name Returns:
- Type
- Promise
-
getServer(name)
-
Get server
Parameters:
Name Type Description namestring Tracker name Returns:
- Type
- object | undefined
-
getToken(name)
-
Get daemon token for the tracker
Parameters:
Name Type Description namestring Tracker name Returns:
- Type
- string
-
<async> setMasterToken(name, token)
-
Set master token
Parameters:
Name Type Description namestring Name of the tracker tokenstring The token Returns:
Resolves to true on success- Type
- Promise
-
<async> getMasterToken(name)
-
Get master token
Parameters:
Name Type Description namestring Name of the tracker Returns:
Resolves to token or empty string- Type
- Promise
-
<async> setDaemonToken(name, token)
-
Set daemon token for the tracker
Parameters:
Name Type Description namestring Name of the tracker tokenstring The token Returns:
Resolves to true on success- Type
- Promise
-
send(name, data)
-
Send message
Parameters:
Name Type Description namestring Tracker name dataBuffer | null Data to send -
sendStatus(trackerName, connectionName [, active])
-
Send status message
Parameters:
Name Type Argument Default Description trackerNamestring Tracker name connectionNamestring Connection name activeboolean <optional>
true Is active -
sendLookupIdentityRequest(trackerName, identity)
-
Send lookup identity request message
Parameters:
Name Type Description trackerNamestring Tracker name identitystring Identity -
sendPunchRequest(trackerName, connectionName)
-
Send punch request message
Parameters:
Name Type Description trackerNamestring Tracker name connectionNamestring Connection name -
onMessage(name, data)
-
Tracker message handler
Parameters:
Name Type Description namestring Tracker name dataBuffer Message Returns:
Destroy socket on false- Type
- boolean
-
onError(name, error)
-
Tracker error handler
Parameters:
Name Type Description namestring Tracker name errorError Error -
onClose(name)
-
Tracker disconnect handler
Parameters:
Name Type Description namestring Tracker name -
onTimeout(name)
-
Client timeout handler
Parameters:
Name Type Description namestring Tracker name -
_reconnect(name)
-
Reconnect to the tracker
Parameters:
Name Type Description namestring Name of the server -
_checkTimeout()
-
Check socket timeout