API Docs for: 0.2.2
Show:

R.Uplink Class

Defined in: src\R.Uplink.js:15

The Uplink micro-protocol is a simple set of conventions to implement real-time reactive Flux over the wire.
The frontend and the backend server share 2 means of communications :
- a WebSocket-like (socket.io wrapper) duplex connection to handshake and subscribe to keys/listen to events
- regulars HTTP requests (front -> back) to actually get data from the stores

PROTOCOL:

Connection/reconnection:

Client: bind socket
Server: Acknowledge connection
Client: send "handshake" { guid: guid }
Server: send "handshake-ack" { recovered: bool } (recover previous session if existing based upon guid; recovered is true iff previous session existed)


Stores:
Client: send "subscribeTo" { key: key }
Server: send "update" { key: key }
Client: XHR GET /uplink/key

Events: Client: send "listenTo" { eventName: eventName }
Server: send "event" { eventName: eventName, params: params }

Actions:
Client: XHR POST /uplink/action { params: params }

Other notifications:
Server: send "debug": { debug: debug } Debug-level message
Server: send "log" { log: log } Log-level message
Server: send "warn": { warn: warn } Warn-level message
Server: send "err": { err: err } Error-level message

Methods

_destroyInClient

() private

Defined in src\R.Uplink.js:365

Does nothing

Returns:

:

void0

_destroyInClient

() private

Defined in src\R.Uplink.js:355

Simply closes the socket

_getFullUrl

(
  • suffix
  • listener
)
private

Defined in src\R.Uplink.js:497

Parameters:

  • suffix String
  • listener Object

_handleDebug

(
  • params
)
private

Defined in src\R.Uplink.js:300

Parameters:

  • params Object

_handleDisconnect

(
  • params
)
private

Defined in src\R.Uplink.js:258

Parameters:

  • params String

_handleDisconnect

() private

Defined in src\R.Uplink.js:269

Occurs after a connection. When a connection is established, the client sends a signal "handshake".

_handleError

(
  • params
)
private

Defined in src\R.Uplink.js:329

Parameters:

  • params Object

_handleEvent

(
  • params
)
private

Defined in src\R.Uplink.js:243

Parameters:

  • params String

_handleHandshakeAck

(
  • params
)
private

Defined in src\R.Uplink.js:280

Identifies if the pid of the server has changed (due to a potential reboot server-side) since the last client connection.
If this is the case, a page reload is performed

Parameters:

  • params Object

_handleLog

(
  • params
)
private

Defined in src\R.Uplink.js:311

Parameters:

  • params Object

_handleUnload

(
  • prevHandler
)
Function private

Defined in src\R.Uplink.js:339

Occurs when a client unloads the document

Parameters:

  • prevHandler Function

    The function to execute when the page will be unloaded

Returns:

Function:

function

_handleUpdate

(
  • params
)
private

Defined in src\R.Uplink.js:170

Triggered when a data is updated according to the specific key
Call corresponding function key

Parameters:

  • params Object

    The specific key

_handleWarn

(
  • params
)
private

Defined in src\R.Uplink.js:320

Parameters:

  • params Object

_initInClient

() private

Defined in src\R.Uplink.js:113

Creating io connection client-side in order to use sockets

_initInServer

() private

Defined in src\R.Uplink.js:159

Server-side

_listenTo

(
  • eventName
)
private

Defined in src\R.Uplink.js:439

Sends the listener signal "listenTo"

Parameters:

  • eventName String

    The eventName to listen

_performUpdateIfNecessary

(
  • key
  • entry
)
Function private

Defined in src\R.Uplink.js:222

Determines if the the data must be fetched

Parameters:

  • key String
  • entry Object

Returns:

Function:

fn The Function to call

_shouldFetchKey

(
  • key
  • entry
)
Boolean private

Defined in src\R.Uplink.js:205

Parameters:

  • key String
  • entry Object

Returns:

Boolean:

bool The boolean

_subscribeTo

() String private

Defined in src\R.Uplink.js:375

Notifies the uplink-server that a subscription is required by client

Returns:

String:

key The key to subscribe

_subscribeTo

() String private

Defined in src\R.Uplink.js:388

Notifies the uplink-server that a subscription is over

Returns:

String:

key The key to unsubscribe

_unlistenFrom

(
  • eventName
)
private

Defined in src\R.Uplink.js:451

Sends the unlistener signal "unlistenFrom"

Parameters:

  • eventName String

    The eventName to listen

destroy

()

Defined in src\R.Uplink.js:565

Destroy socket client-side

dispatch

(
  • action
  • params
)
Object

Defined in src\R.Uplink.js:539

Dispatches an action by POST request from the uplink-server

Parameters:

  • action Object

    The specific action to dispatch

  • params Object

Returns:

Object:

object Fetched data according to the specified action

fetch

(
  • key
)
Object

Defined in src\R.Uplink.js:511

Fetch data by GET request from the uplink-server

Parameters:

  • key String

    The key to fetch

Returns:

Object:

object Fetched data according to the key

listenTo

(
  • eventName
  • fn
)
Object

Defined in src\R.Uplink.js:463

Create a listener according to a specific name

Parameters:

  • eventName String

    The eventName to listen

  • fn Function

    The function to execute when triggered

Returns:

Object:

listener The created listener

subscribeTo

(
  • key
  • subscription
)

Defined in src\R.Uplink.js:420

Removes a subscription to a key

Parameters:

  • key String

    The key to subscribe

  • subscription Object

subscribeTo

(
  • key
  • fn
)
Object

Defined in src\R.Uplink.js:401

Etablishes a subscription to a key, and call the specified function when _handleUpdate occurs

Parameters:

  • key String

    The key to subscribe

  • fn Function

    The function to execute

Returns:

Object:

subscription The created subscription

unlistenFrom

(
  • eventName
  • listener
)

Defined in src\R.Uplink.js:480

Remove a listener

Parameters:

  • eventName String

    The eventName to remove

  • listener Object