CloudServices/FirefoxMobileServices/ChannelService: Difference between revisions

Line 168: Line 168:
* Routing inbound-client messages to the appropriate Services Inbound Relay (Push/etc)
* Routing inbound-client messages to the appropriate Services Inbound Relay (Push/etc)
* Routing outbound-client messages received from Outbound Routers
* Routing outbound-client messages received from Outbound Routers
* Updating the database indicating what DeviceID's are connected to this node
* Broadcasting to the Outbound Router indicating what DeviceID's are connected to this node
* Issuing DeviceID changes
* Holding very high quantities of connections to clients
* Holding very high quantities of connections to clients


Line 179: Line 178:
Inbound relays are responsible for:
Inbound relays are responsible for:


* Accepting messages from connection nodes for a single service
* Accepting messages from connection nodes for services
* Spooling a small amount of messages if a service is not available to relay them to
* Spooling a small amount of messages if a service is not available to relay them to
* Delivering DeviceID change messages


==== Outbound Router ====
==== Outbound Router ====
Line 187: Line 185:
Outbound routers are responsible for:
Outbound routers are responsible for:


* Looking up the ConnectionNode from the database that a message is addressed to via its DeviceID
* Using their local mapping to determine what ConnectionNode to deliver to for a DeviceID
* Holding connections to ConnectionNode's for message delivery
* Holding connections to ConnectionNode's for message delivery
* Sending messages to deliver to ConnectionNode's and indicating whether they were delivered or not
* Sending messages to deliver to ConnectionNode's and indicating whether they were delivered or not
* Informing the service if a device id is no longer valid
* Informing the service if a device id is not connected


===Push Server Modifications===
===Push Server Modifications===
Confirmed users
192

edits