Services/Sync/WEP/116: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
No edit summary
Line 104: Line 104:
| Need to pass additional callback within the notification subject<br>
| Need to pass additional callback within the notification subject<br>
|}
|}




Line 130: Line 129:
|}
|}


From this it's pretty clear that the store interface needs to become async. It's ''probably'' going to be ok to do this without backwards compatibility as the store is only in during SyncEngine.sync() and its helpers. Unless of course we care about third party implementations.


We might need to turn places annotations (<tt>Utils.anno()</tt>) into DB queries as well, at which point the Bookmarks and History trackers would be using <tt>Utils.queryAsync()</tt> as well. However, since trackers are often invoked async anyway (as observers for places/satchel/... notifications), we could just as easily make that fully async.<br>


From this it's pretty clear that the store interface needs to become async. It's ''probably'' going to be ok to do this without backwards compatibility as the store is only in during SyncEngine.sync() and its helpers. Unless of course we care about third party implementations.
=== Things that use <tt>Svc.Crypto</tt>: ===


We might need to turn places annotations (<tt>Utils.anno()</tt>) into DB queries as well, at which point the Bookmarks and History trackers would be using <tt>Utils.queryAsync()</tt> as well. However, since trackers are often invoked async anyway (as observers for places/satchel/... notifications), we could just as easily make that fully async.<br>  
{| cellspacing="1" cellpadding="1" border="1"
|-
! scope="col" | API Method<br>  
! scope="col" | Comment
|-
| SyncEngine.sync()  
| <br>
|-
| Service.onStartup()  
| Triggered by event handler, can run async anyway.
|-
| Service._verifyPassphrase()
| Only used in Service.verifyLogin()
|-
| PubKeys.createKeypair()
| Only used in Service.sync()<br>
|-
| CrytoWrapper.encrypt()
| Only used in SyncEngine.sync()<br>
|-
| CryptoMeta.addUnwrappedKey()
| Only used in SyncEngine.sync()<br>
|}


=== Things that use Svc.Crypto ===
Making crypto async will touch no place that the <tt>Resource</tt> async work wouldn't touch.
canmove, Confirmed users
725

edits

Navigation menu