[commits] [Wiki] changed: ActiveSync/Development
    Michael Rubinsky 
    mrubinsk at horde.org
       
    Wed Nov 23 15:48:46 UTC 2016
    
    
  
mrubinsk  Wed, 23 Nov 2016 15:48:46 +0000
Modified page: https://wiki.horde.org/ActiveSync/Development
New Revision:  4
Change log:  Basic bit about how we encode/decode WBXML.
@@ -35,8 +35,9 @@
  : MS-ASHTTP : Documents the requirements and flow of the HTTP  
protocol as used in the EAS protocol.
  There are also the individual documents for each collection type,  
such as //MS-ASEMAIL//, //MS-ASTASKS// etc... These documents are the  
best place to start when trying to track down issues such as "Protocol  
Error" issues with certain clients.
+The basic bit to know about the EAS protocol is that it is encoded  
using WBXML. That is, binary encoded XML data. Again, the  
structure/schema of WBXML data is beyond the scope of this page.  
Instead of decoding the entire request first and then handling it,  
Horde_ActiveSync decodes the data and handles it on the fly. That is,  
we decode each individual message/object as it comes in and handle it  
in-line, so to speak. This is to avoid keeping more in memory than is  
necessary. The same is true for encoding - we don't wait to enocde the  
entire response - we encode and send the response to the output stream  
as soon as we can. The actual encoding/decoding is done in the  
//Horde_ActiveSync_Wbxml_*// classes. The codepages/schema is defined  
in //Horde_ActiveSync_Wbxml::.
  ++ Logic Flow
  I have a long-standing item on my todo list to generate an activity  
diagram for the program flow of an EAS request, but in the meantime  
here is a description of what happens.
    
    
More information about the commits
mailing list