|
From: Daniel G. <go...@b1...> - 2009-11-05 16:40:49
|
Hi,
just implemented the osync_context_report_uid_update() function for sync-
plugins.
This functions allows to support protocols or synchronization-interfaces which
replace the initial UID after the change got comitted/written, and report them
after all changes got written.
There are already lots of plugins which overwrite the UID of an OSyncChange
during the commit() function. But this works only for protocols/interfaces
which provide the new UID immediately after the single write of a change.
Protocols like SyncML for example, maybe there are others as well, which
provide the information about a "mapping update" (or changed UIDs of just
written entries) after all changes got written.
Now we can handle this flawless with the introduction of
osync_context_report_uid_update().
Plugins can now call this function in the sync_done() function and report all
updated UIDs, by just providing the old-UID and the new-UID. OpenSync will
take care the mapping of the right entries doesn't get lost. OpenSync also
updates this information inside the hashtable - if used.
The interface looks like this:
void osync_context_report_uid_update(OSyncContext *ctx,
const char *olduid, const char *newuid);
This issue solves a well known problem of the SyncML plugin and the OpenSync
IPC by deadlocking after 4 entries in a row get written to the SyncML-peer.
This is not yet implemented in the SyncML plugin.
For more information see http://opensync.org/ticket/1161
Best Regards,
Daniel
--
Daniel Gollub Geschaeftsfuehrer: Ralph Dehner
FOSS Developer Unternehmenssitz: Vohburg
B1 Systems GmbH Amtsgericht: Ingolstadt
Mobil: +49-(0)-160 47 73 970 Handelsregister: HRB 3537
EMail: go...@b1... http://www.b1-systems.de
Adresse: B1 Systems GmbH, Osterfeldstraße 7, 85088 Vohburg
http://pgpkeys.pca.dfn.de/pks/lookup?op=get&search=0xED14B95C2F8CA78D
|
|
From: Daniel G. <go...@b1...> - 2009-11-05 20:34:58
|
Hi, On Thursday 05 November 2009 05:40:29 pm Daniel Gollub wrote: [...] > This issue solves a well known problem of the SyncML plugin and the > OpenSync IPC by deadlocking after 4 entries in a row get written to the > SyncML-peer. This is not yet implemented in the SyncML plugin. [...] just reenabled the pending limit in OpenSync: http://opensync.org/changeset/5942 http://opensync.org/changeset/5858 was there a ticket for this change? The SyncML plugin is now able to write more then 4 entries without exceeding the pending limit and without deadlocking. Just committed approx. 50 entries at once to my test mobile (SyncML Data-Sync server implementation only tested): http://opensync.org/changeset/5941 Best Regards, Daniel -- Daniel Gollub Geschaeftsfuehrer: Ralph Dehner FOSS Developer Unternehmenssitz: Vohburg B1 Systems GmbH Amtsgericht: Ingolstadt Mobil: +49-(0)-160 47 73 970 Handelsregister: HRB 3537 EMail: go...@b1... http://www.b1-systems.de Adresse: B1 Systems GmbH, Osterfeldstraße 7, 85088 Vohburg http://pgpkeys.pca.dfn.de/pks/lookup?op=get&search=0xED14B95C2F8CA78D |
|
From: Michael B. <mic...@cm...> - 2009-11-06 11:44:46
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi Daniel, Daniel Gollub wrote: > The SyncML plugin is now able to write more then 4 entries without exceeding > the pending limit and without deadlocking. Just committed approx. 50 entries > at once to my test mobile (SyncML Data-Sync server implementation only > tested): > http://opensync.org/changeset/5941 Does OpenSync trunk works? If yes, then I would migrate the SyncML plugin to libsyncml trunk on the weekend. Additionally I would like to branch the actual code to have a maintainable libsyncml 0.5.x port. My problem is that I don't know where to place such a branch. Best regards Michael - -- ___________________________________________________________________ Michael Bell Humboldt-Universitaet zu Berlin Tel.: +49 (0)30-2093 2482 ZE Computer- und Medienservice Fax: +49 (0)30-2093 2704 Unter den Linden 6 mic...@cm... D-10099 Berlin ___________________________________________________________________ PGP Fingerprint: 09E4 3D29 4156 2774 0F2C C643 D8BD 1918 2030 5AAB -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEUEARECAAYFAkr0DH4ACgkQ2L0ZGCAwWqtcHACdHsfzXH0vV7CP6qSu+HrlS3tb GLUAmOcG43lotXQI4ofFTE4EmwlHg5o= =8Z+w -----END PGP SIGNATURE----- |
|
From: Daniel G. <go...@b1...> - 2009-11-06 11:50:15
|
On Friday 06 November 2009 12:46:09 pm Michael Bell wrote: > Does OpenSync trunk works? Yes. Only the merging and capabilities stuff is not completed. And the XMLFormat and vformat plugin still lacking some fields ... > > If yes, then I would migrate the SyncML plugin to libsyncml trunk on the > weekend. Additionally I would like to branch the actual code to have a > maintainable libsyncml 0.5.x port. My problem is that I don't know where > to place such a branch. I'll take care about that... We already planned to have a trunk/branches/tags direcotry hierachy for plugins. Will do that for SyncML plugin now. Best Regards, Daniel -- Daniel Gollub Geschaeftsfuehrer: Ralph Dehner FOSS Developer Unternehmenssitz: Vohburg B1 Systems GmbH Amtsgericht: Ingolstadt Mobil: +49-(0)-160 47 73 970 Handelsregister: HRB 3537 EMail: go...@b1... http://www.b1-systems.de Adresse: B1 Systems GmbH, Osterfeldstraße 7, 85088 Vohburg http://pgpkeys.pca.dfn.de/pks/lookup?op=get&search=0xED14B95C2F8CA78D |