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