CloudServices/FirefoxMobileServices/ChannelService: Difference between revisions

Line 49: Line 49:
==Platform Requirements==
==Platform Requirements==


===Firefox OS Modifications===


<i>What are the things this needs (OS, language, databases, etc.)?
Currently there's a PushService in the parent process. This proposal changes the structure.


==Libraries Required==
* A thread will be launched from the parent process (referred to as the 'Services' Thread)
<i>List of external project dependencies. (Stuff that's not pulled in via the installation script)</i>
* The Services thread will have two portions running in it to begin with
** channel.jsm - Channel handling code, split out from the current PushService.jsm, that handles the connection and implements a basic API for other code that is in the Services Thread
** push.jsm - Push daemon refactored to utilize the Channel API. PBackground will likely need to be used to have the DOM API call into this thread hanging off the main thread
 
The Channel API will allow other code running in the Services Thread to hook in via Events and direct Calls:
 
Events (to register for):
* OnConnect (called anytime the connection is established)
* OnDisconnect (called if the connection is interrupted)
* OnMessage (called when a message is received over the channel for this service)
 
API Calls:
* Send(payload, service) - Send the payload over the channel. It will end up in the server-side service handling it. (ie. if push.jsm wanted to send a call to the Push service, it would call Send('whatever', 'push')  )
 
===Cloud Services Channel Service===
 
The Cloud Services Channel Service (fondly pronounced '''koos'''-koos) handles the server-side termination of the channel from each device.
 
===Push Server Modifications===
 
The Push server service will need to be modified to work with the Cloud Services Channel Service.


==Code Repository==
==Code Repository==
Line 59: Line 80:
==Release Schedule==
==Release Schedule==
<i>Predicted code delivery dates</i>
<i>Predicted code delivery dates</i>
=QA=
=QA=
==Points of Contact==
==Points of Contact==
Confirmed users
192

edits