Provides access to Session connections and global namespaces.
Properties:
Name | Type | Description |
---|---|---|
version |
String | The version of this client library in the form major.minor.patch |
topics |
diffusion.topics | Access to the topics namespace. |
clients |
diffusion.clients | Access to PropertyKeys. |
metadata |
diffusion.metadata | Access to the metadata namespace. |
selectors |
diffusion.selectors | Access to the selectors namespace. |
datatypes |
diffusion.datatypes | Access to the datatypes namespace. |
errorReport |
ErrorReport | Access to the ErrorReport class. |
Namespaces
Members
-
<static, readonly> errors
-
Enum containing reason codes used to report error conditions.
Some common ErrorReason values are defined as global constants. More specific reasons may be defined by individual features.
Properties:
Name Type Default Description COMMUNICATION_FAILURE
Communication with the server failed. SESSION_CLOSED
Communication with the server failed because the session is closed. REQUEST_TIME_OUT
Communication with the server failed because a service request timed out. ACCESS_DENIED
The request was rejected because the caller has insufficient permissions. UNSUPPORTED
The request was rejected because the requested operation is unsupported for this caller. CALLBACK_EXCEPTION
An application callback threw an exception. Check logs for more information. INVALID_DATA
An operation failed because invalid data was received. NO_SUCH_SESSION
An operation failed because an addressed session could not be found. INCOMPATIBLE_DATATYPE
An operation failed due to using an incompatible data type. UNHANDLED_MESSAGE
A sent message was not handled by the specified recipient. TOPIC_TREE_REGISTRATION_CONFLICT
A conflicting registration exists on the same branch of the topic tree. HANDLER_CONFLICT
A conflicting registration exists on the server. INVALID_PATH
An invalid path was supplied. REJECTED_REQUEST
A recipient session has rejected a received message request. Example
// Handle an error from the server session.subscribe('foo').on('error', function(e) { if (e == diffusion.errors.ACCESS_DENIED) { // Handle authorisation error } else { // Log the problem console.log(e); } });
Methods
-
<static> escape(string) → {String}
-
Escapes special characters in a string that is to be used within a topic property or a session filter.
This is a convenience method which inserts an escape character '\' before any of the special characters ' " or \.
Parameters:
Name Type Description string
String the string to be escaped - Since:
-
- 6.1
Returns:
the string value with escape characters inserted as appropriate- Type
- String
-
connect(options) → {Result.<Session>}
-
Connect to a specified Diffusion server. This will return a Result that will complete succesfully if a session can be connected, or fail if an error was encountered.
If the result is succesful, the fulfilled handler will be called with a Session instance. This session will be in a connected state and may be used for subsequent API calls.
If the result fails, the rejected handler will be called with an error reason.
Parameters:
Name Type Argument Description options
Session.Options | String <optional>
The options to construct the session with. Returns:
Example
diffusion.connect('example.server.com').then(function(session) { // Connected with a session console.log('Connected!', session); }, function(error) { // Connection failed console.log('Failed to connect', error); });
-
log(level)
-
Set the level of logging used by Diffusion. This will default to silent. Log levels are strings that represent different degrees of information to be logged. Available options are:
- silent
- error
- warn
- info
- debug
Parameters:
Name Type Description level
String The log level to use.