Class: Front

servers/front~ Front

Server responsible for connections to and from consumers

new Front(app, config, logger, connectionsList)

Create the service
Parameters:
Name Type Description
app App Application
config object Configuration
logger Logger Logger service
connectionsList ConnectionsList Connections List service

Members


<static> provides :string

Service name is 'servers.front'
Type:
  • string

<static> requires :Array.<string>

Dependencies as constructor arguments
Type:
  • Array.<string>

<static> connectTimeout :number

Client app connect timeout
Type:
  • number

<static> bindPause :number

Bind retry pause
Type:
  • number

_peer

Retrieve peer server

Methods


<async> init(name)

Initialize the server
Parameters:
Name Type Description
name string Config section name
Returns:
Type
Promise

<async> start(name)

Start the server
Parameters:
Name Type Description
name string Config section name
Returns:
Type
Promise

<async> stop(name)

Stop the server
Parameters:
Name Type Description
name string Config section name
Returns:
Type
Promise

openServer(tracker, name, tunnelId, address, port)

Get ready to forward to actual server
Parameters:
Name Type Description
tracker string Tracker name
name string Connection name on tracker
tunnelId string Tunnel ID
address string Server address
port string Server port

openClient(tracker, name, tunnelId, address, port)

Get ready to accept clients
Parameters:
Name Type Description
tracker string Tracker name
name string Connection name on tracker
tunnelId string Tunnel ID
address string Listen address
port string Listen port

connect(tracker, name, tunnelId, id)

Connect to server
Parameters:
Name Type Description
tracker string Tracker name
name string Connection name on tracker
tunnelId string Tunnel ID
id string Session ID

relay(tracker, name, tunnelId, id, data)

Relay data to server or client
Parameters:
Name Type Description
tracker string Tracker name
name string Connection name on tracker
tunnelId string Tunnel ID
id string Session ID
data Buffer Message

disconnect(tracker, name, tunnelId, id)

Disconnect from server or client
Parameters:
Name Type Description
tracker string Tracker name
name string Connection name on tracker
tunnelId string Tunnel ID
id string Session ID

close(tracker, name [, tunnelId])

Close server or client front
Parameters:
Name Type Argument Description
tracker string Tracker name
name string Connection name on tracker
tunnelId string <optional>
Tunnel ID

onConnection(tracker, name, tunnelId, socket)

Handle incoming connection
Parameters:
Name Type Description
tracker string Tracker name
name string Connection name on tracker
tunnelId string Tunnel ID
socket object New connection

onData(tracker, name, sessionId, data)

Socket data handler
Parameters:
Name Type Description
tracker string Tracker name
name string Connection name on tracker
sessionId string Session ID
data Buffer Message

onError(tracker, name, sessionId, error)

Socket error handler
Parameters:
Name Type Description
tracker string Tracker name
name string Connection name on tracker
sessionId string Session ID
error Error Error

onTimeout(tracker, name, sessionId)

Socket timeout handler
Parameters:
Name Type Description
tracker string Tracker name
name string Connection name on tracker
sessionId string Session ID

onClose(tracker, name, sessionId)

Socket termination handler
Parameters:
Name Type Description
tracker string Tracker name
name string Connection name on tracker
sessionId string Session ID