[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