Hello Congwu, Patrick,

sorry for not reviewing this earlier (vacation first, now a heap of stuff to do that stacked up during vacation...).

But now I'm about to clean up a bit and prepare for the server variant (more on that soon here, hopefully), so I'm trying to merge the contributions.

Regarding STEPCMD_RESENDDATA I see a little problem, because just resetting the status to ces_dataready does not mean that the data can be read a second time from the engine - it is usually disposed when RetSyncMLBuffer() or ReadSyncMLBuffer() is called. So the engine is not really any longer in ces_dataready state, and therefore should not return STEPCMD_SENDDATA.

I assume that you introduced the new step to create the progress events reflecting the resend of data, and that you don't need to read the data a second time (otherwise it would probably have failed).

So my suggestion is to modify your STEPCMD_RESENDDATA to return STEPCMD_RESENDDATA instead of STEPCMD_SENDDATA to indicate that this is not the same:

- After receiving STEPCMD_SENDDATA from the API you MUST read new data via
  GetSyncMLBuffer/RetSyncMLBuffer/ReadSyncMLBuffer
- Whereas after STEPCMD_RESENDDATA you MAY NOT try to access the buffer again.

I'll merge your patch with the above modification into our master - please let me know if you see a problem with this.

Best Regards,
Lukas

Lukas Zeller ([email protected])
-
Synthesis AG, SyncML Solutions  & Sustainable Software Concepts
[email protected], http://www.synthesis.ch





_______________________________________________
os-libsynthesis mailing list
[email protected]
http://lists.synthesis.ch/mailman/listinfo/os-libsynthesis

Reply via email to