The main backend server that handles all message/communication for StreamRoller.
    - Source:
Methods
SendSettingsWidgetSmall(to)
Parameters:
| Name | Type | Description | 
|---|---|---|
| to | String | 
addToLogfile(func, tag, message)
Parameters:
| Name | Type | Description | 
|---|---|---|
| func | String | source of the nessge "filename.function" | 
| tag | String | tag "[EXTENSION]" | 
| message | String | message to log | 
broadcastMessage(server_socket, server_packet)
    Broadcast message
Parameters:
| Name | Type | Description | 
|---|---|---|
| server_socket | serverSocket | |
| server_packet | object | 
createChannel(server_socket, client_socket, channel_to_create, channels, extensionname)
    Create and join a channel. If channel exists the existing one will be joined else created.
A ChannelCreated or ChannelJoined message will be broadcast
Parameters:
| Name | Type | Description | 
|---|---|---|
| server_socket | Socket | |
| client_socket | Socket | |
| channel_to_create | String | |
| channels | Array | |
| extensionname | String | 
createCheckBox(description, name, checked)
Parameters:
| Name | Type | Description | 
|---|---|---|
| description | string | |
| name | string | |
| checked | boolean | 
Returns:
    html code of the checkbox
decrypt(text) → {String}
    decrypt a text string
Parameters:
| Name | Type | Description | 
|---|---|---|
| text | String | 
Returns:
    A string containing the decrypted data
- Type
- String
deleteConfig(configname, path)
    Saves data to the filename given.
Parameters:
| Name | Type | Description | 
|---|---|---|
| configname | string | |
| path | string | 
deleteCredentials(extensionname)
    Saves data to the filename given.
Parameters:
| Name | Type | Description | 
|---|---|---|
| extensionname | string | 
encrypt(text) → {object}
    decrypt a text string
Parameters:
| Name | Type | Description | 
|---|---|---|
| text | String | 
Returns:
    Encrypted data {iv:initialization vector ,encryptedData: string}
- Type
- object
err(source, …args)
    log an error message
logging level 0 or above
Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
| source | String | log source. Normall "filename.function" | |
| args | any | <repeatable> | additional arguments | 
errorMessage(client_socket, error, data)
    Send an error message to the given socket
Parameters:
| Name | Type | Description | 
|---|---|---|
| client_socket | Socket | |
| error | String | |
| data | Object | 
extensionReadinessCheck()
    Extension readiness check
    
extensionReadinessCheckScheduler()
    checks for extensions sending 'ready' message and send out a 'StreamRollerReady' when all extensions have responded
    
extra(source, …args)
    log an extra message
logging level 0 or above
Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
| source | String | log source. Normall "filename.function" | |
| args | any | <repeatable> | additional arguments | 
findTriggerByMessageType(messagetype)
    Finds the trigger using the passed messagetype
Parameters:
| Name | Type | Description | 
|---|---|---|
| messagetype | string | 
Returns:
    trigger
forwardMessage(server_socket, server_packet, channels, extensions)
    forwards a message on based on the data provided
priority is "to","dest_channel" and the broadcast (except sender)
Parameters:
| Name | Type | Description | 
|---|---|---|
| server_socket | Socket | |
| server_packet | Object | |
| channels | Array | |
| extensions | Object | 
getLoggingLevel()
    gets the current logging elvel
    
Returns:
    logging level (string)
info(source, …args)
    log additional informational message
logging level 3 or above
Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
| source | String | log source. Normall "filename.function" | |
| args | any | <repeatable> | additional arguments | 
joinChannel(server_socket, client_socket, channel_to_join, channels, extensionname)
    Join a channel. if it doesn't exist an UnknownChannel message is sent back.
If it exists it is joined and a ChannelJoined message is broadcast out
Parameters:
| Name | Type | Description | 
|---|---|---|
| server_socket | Socket | |
| client_socket | Socket | |
| channel_to_join | String | |
| channels | Array | |
| extensionname | String | 
leaveChannel(server_socket, client_socket, extensionname, channel_to_leave)
    Leave a channel.
Parameters:
| Name | Type | Description | 
|---|---|---|
| server_socket | Socket | server socket | 
| client_socket | Socket | leaving client | 
| extensionname | String | name of extension | 
| channel_to_leave | String | channel to leave | 
loadConfig(configname)
    Loads and returns a config file
Parameters:
| Name | Type | Description | 
|---|---|---|
| configname | String | 
Returns:
    configfile object or ""
loadCredentials(configname)
    Loads and returns a config file
Parameters:
| Name | Type | Description | 
|---|---|---|
| configname | String | 
Returns:
    configfile object or ""
loadSoftwareVersion()
    Loads and returns a SoftwareVersion number
    
Returns:
    version number or ""
log(source, …args)
    log a message 
logging level 2 or above
Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
| source | String | log source. Normall "filename.function" | |
| args | any | <repeatable> | additional arguments | 
onConnect(socket)
    receives connect messages
Parameters:
| Name | Type | Description | 
|---|---|---|
| socket | Socket | socket received on | 
onDisconnect(socket, reason)
    receive disconnect messages
Parameters:
| Name | Type | Description | 
|---|---|---|
| socket | Socket | |
| reason | string | 
onMessage(socket, server_packet)
    receives messages
Parameters:
| Name | Type | Description | 
|---|---|---|
| socket | Socket | |
| server_packet | Object | 
output(col, func, tag, message)
    outputs a message to the log
Parameters:
| Name | Type | Description | 
|---|---|---|
| col | String | colour for message | 
| func | String | source of the nessge "filename.function" | 
| tag | String | tag "[EXTENSION]" | 
| message | String | message to log | 
processSettingsWidgetSmallData(data)
Parameters:
| Name | Type | Description | 
|---|---|---|
| data | object | 
readyMessage(ext)
    Used by locally started extensions that have client webpages with the socket connection
these might not always be loading in a browser so we fake the ready flag on startup.
Parameters:
| Name | Type | Description | 
|---|---|---|
| ext | string | 
saveConfig(configname, data)
    Saves data to the filename given.
Parameters:
| Name | Type | Description | 
|---|---|---|
| configname | string | |
| data | object | 
saveConfig(extensionname, configdata)
    save the config file to the server store
Parameters:
| Name | Type | Description | 
|---|---|---|
| extensionname | String | |
| configdata | Object | 
saveCredentials(data)
    Saves/updates an entry in the credentials file
Parameters:
| Name | Type | Description | 
|---|---|---|
| data | object | {CredentialName:name,CredentialValue:value} | 
saveData(extensionname, data)
    save the Data file to the server store
Parameters:
| Name | Type | Description | 
|---|---|---|
| extensionname | String | |
| data | Object | 
sendAddressTrigger()
    sends "trigger_StreamRollerIPChanged" message
    
Returns:
    trigger
sendChannelList(clientSocket, extensionname, channels)
    Send channellist to extension
Parameters:
| Name | Type | Description | 
|---|---|---|
| clientSocket | Socket | socket to send to | 
| extensionname | String | extension name to send to | 
| channels | Array | channels | 
sendConfig(client_socket, extensionname)
    loads and sends the config file to the given extension
Parameters:
| Name | Type | Description | 
|---|---|---|
| client_socket | Socket | socket to send on | 
| extensionname | String | extension name | 
sendData(client_socket, extensionname)
    loads and sends the data file to the given extension
Parameters:
| Name | Type | Description | 
|---|---|---|
| client_socket | Socket | socket to send on | 
| extensionname | String | extension name | 
sendDataLoad(server_socket, receivedSize)
    Send an error message to the given socket
Parameters:
| Name | Type | Description | 
|---|---|---|
| server_socket | object | |
| receivedSize | int | 
sendExtensionEnabledTrigger(ref, ext)
    Sends out a extensions startup flag for the given extensions
Parameters:
| Name | Type | Description | 
|---|---|---|
| ref | string | reference from action | 
| ext | string | extension name | 
sendExtensionList(clientsocket, extensionname, extensions)
    Sends the extension list to extension
Parameters:
| Name | Type | Description | 
|---|---|---|
| clientsocket | Socket | client to send to | 
| extensionname | String | extension name to send to | 
| extensions | Object | Extensions to send | 
sendLoggingLevel(client_socket)
    send out the logging level
Parameters:
| Name | Type | Description | 
|---|---|---|
| client_socket | Socket | socket who asked for the information | 
sendSoftwareVersion(client_socket, extensionname)
    loads and sends the data file to the given extension
Parameters:
| Name | Type | Description | 
|---|---|---|
| client_socket | Socket | socket to send on | 
| extensionname | String | extension name | 
sendTrigger(data)
    Sends the given trigger or action out on our channel if to is ""
or sends to the extension as an extension message if to specifies extension name
Parameters:
| Name | Type | Description | 
|---|---|---|
| data | object | 
setExtensionName(extensionname)
    loads and sends the config file to the given extension
Parameters:
| Name | Type | Description | 
|---|---|---|
| extensionname | String | extension name | 
setLoggingLevel(level)
    Sets the logging level for this module
0) errors only
1) 0 + warnings
2) 1 + logging
3) 2 + info
Parameters:
| Name | Type | Description | 
|---|---|---|
| level | string | 
setLoggingLevel(server_socket, level)
    Set the system logging level. new level will be broadcast out
Parameters:
| Name | Type | Description | 
|---|---|---|
| server_socket | Socket | server socket | 
| level | String | level to set | 
start(app, server, exts)
    Starts the server
Parameters:
| Name | Type | Description | 
|---|---|---|
| app | Express | |
| server | Object | |
| exts | Array | 
usecoloredlogs(val)
    Turn on or off color
Parameters:
| Name | Type | Description | 
|---|---|---|
| val | string | "off","default" or a color code | 
warn(source, …args)
    log a warning messge message
logging level 1 or above
Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
| source | String | log source. Normall "filename.function" | |
| args | any | <repeatable> | additional arguments |