RPCHandler¶
(c) 2013-2014 http://ircanywhere.com
Author: Ricki Hastings
IRCAnywhere server/rpc.js
-
class
RPCHandler.
RPCHandler
()¶ Singleton class to handle the inbound and outbound RPC calls on the websocket lines
Returns: void
-
RPCHandler.
init
()¶ Called when the application is ready, sets up an observer on our collections so we can figure out whether we need to propogate them to clients.
Returns: void
-
RPCHandler.
push
(uid, command, data)¶ Pushes the data and command out to any sockets associated to that uid
Arguments: - uid (string) – A valid user id converted from an object ID
- command (string) – The command to send
- data (string) – The json data to send
Returns: void
-
RPCHandler.
handleUsersUpdate
(doc)¶ Handles any update changes to the users collection and sends changes to clients
Arguments: - doc (object) – A valid MongoDB document with an _id
Returns: void
-
RPCHandler.
handleNetworksAll
(doc)¶ Handles any all changes to the network collection
Arguments: - doc (object) – A valid MongoDB document with an _id
Returns: void
-
RPCHandler.
handleTabsAll
(doc)¶ Handles all changes to the tabs collections
Arguments: - doc (object) – A valid MongoDB document with an _id
Returns: void
-
RPCHandler.
handleEventsAll
(doc)¶ Handles any changes to the events collection
Arguments: - doc (object) – A valid MongoDB document with an _id
Returns: void
-
RPCHandler.
handleCommandsAll
(doc)¶ Handles all operations on the commands collection
Arguments: - doc (object) – A valid MongoDB document with an _id
Returns: void
-
RPCHandler.
handleChannelUsersAll
(doc)¶ Handles any changes on the channelUsers collection
Arguments: - doc (object) – A valid MongoDB document with an _id
Returns: void
-
RPCHandler.
onSocketOpen
(socket)¶ Handles a new websocket opening and attaches the RPC events
Arguments: - socket (object) – A valid sock.js socket
Returns: void
-
RPCHandler.
handleAuth
(socket, data)¶ Handles the authentication command sent to us from websocket clients Authenticates us against login tokens in the user record, disconnects if expired or incorrect.
Arguments: - socket (object) – A valid sock.js socket
- data (object) – A valid data object from sock.js
Returns: void
-
RPCHandler.
handleConnect
(socket)¶ Handles new websocket clients, this is only done after they have been authenticated and it’s been accepted.
Arguments: - socket (object) – A valid sock.js socket
Returns: void
-
RPCHandler.
handleCommand
(socket, data, exec)¶ Handles the exec command RPC call. Which should be used to execute /commands from the clientside without inserting them into the backlog.
Arguments: - socket (object) – A valid sock.js socket
- data (object) – A valid data object from sock.js
- exec (boolean) – Whether to exec the command or backlog it
Returns: void
-
RPCHandler.
handleReadEvents
(socket, data)¶ Handles the command which marks events as read. It takes a MongoDB query and updates them with that query.
Arguments: - socket (object) – A valid sock.js socket
- data (object) – A valid data object from sock.js
Returns: void
-
RPCHandler.
handleSelectTab
(socket, data)¶ Handles the selectTab command which is used to change the currently active tab for that user.
Arguments: - socket (object) – A valid sock.js socket
- data (object) – A valid data object from sock.js
Returns: void
-
RPCHandler.
handleUpdateTab
(socket, data)¶ Handles the update tab command, we’re allowed to change client side only settings here
hiddenUsers
andhiddenEvents
only at the moment.Arguments: - socket (object) – A valid sock.js socket
- data (object) – A valid data object from sock.js
Returns: void
-
RPCHandler.
handleInsertTab
(socket, data)¶ Allows users to create new tabs on the fly from the client side. Restricted to
channel
andquery
tabs.Arguments: - socket (object) – A valid sock.js socket
- data (object) – A valid data object from sock.js
Returns: void
-
RPCHandler.
handleGetEvents
(socket, data)¶ Handles queries to the events collection
Arguments: - socket (object) – A valid sock.js socket
- data (object) – A valid data object from sock.js
Returns: void