[sync] [Fwd: Re: max message size approached]

Karsten Fourmont fourmont at gmx.de
Mon Aug 27 15:00:29 UTC 2007


Hi,

munzli wrote:
 > what exactly does the data have to contain so
 > that the server only sends a partial packet?

if the client (phone) sends a MaxMsgSize in its first packet

For example Synthesis sends
<Meta><MaxMsgSize xmlns="syncml:metinf">10000</MaxMsgSize>
see 
http://cvs.horde.org/co.php?r=1.1&f=framework%2FSyncML%2Ftests%2Ftestcase_synthesis_tasks%2Fsyncml_client_10.xml

In this case the Horde server ensures that the packet is at most 10000 
bytes long. This mechanism is SyncML compliant and works fine with the 
Synthesis client.

I don't know why this breaks with the Blackberry. Can you send my the 
/tmp/sync contents of such a broken sync session (to my inbox, mailing 
list strips these attachments)? Please use a temp password and start 
with a clean /tmp/sync. See http://wiki.horde.org/SyncMLProblemReport

Cheers,
  Karsten




munzli wrote:
> hi
> 
> sorry for digging this one out again, but more and more people are 
> getting this problem. what exactly does the data have to contain so that 
> the server only sends a partial packet?
> 
> thanks
> 
> 
> Karsten Fourmont wrote:
>> Jamie McClelland wrote:
>>   
>>> I was digging through the code yesterday. I don't really know what is going
>>> on, but here's an attempt at pieceing it together: it seems like the client
>>> device tells the server what the maximum message size it can receive is. Then,
>>> the server iterates through all the records it wants to send, pushing them
>>> into the message, and keeping track of the total size. Once the number of
>>> records it has pushed into the message approaches the max message size, it
>>> stops, sends those records, and records that the message is full. I think the
>>> server is supposed to notify the client that there is more, and the client
>>> should re-initiate a connection to get the rest, but that doesn't happen.
>>>     
>> you're right: this maxmsg size is the intended behaviour. The server 
>> indicates that this is an partial packet by not putting the <final> tag 
>> into the message. The client must then use a more data alert to request 
>> more data from the server. This is tested and works well with the 
>> Synthesis client.
>>
>> I'm not sure why this is not working with the Blackberry SyncML devices. 
>> Can someone post the last message sent by the horde sycnml server? Is 
>> there any message from the blackberry after that?
>>
>> Cheers,
>>   Karsten
>>
>>   
> 
> 
> 



More information about the sync mailing list