[trunk] Introduced osync_context_report_uid_update() in sync_done() phase

View: New views
4 Messages — Rating Filter:   Alert me  

[trunk] Introduced osync_context_report_uid_update() in sync_done() phase

by Daniel Gollub-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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: gollub@...          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


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Opensync-devel mailing list
Opensync-devel@...
https://lists.sourceforge.net/lists/listinfo/opensync-devel

signature.asc (204 bytes) Download Attachment

Fixed SyncML plugin commit limitation and reenabled pending limit in OpenSync (was: Re: [trunk] Introduced osync_context_report_uid_update() in sync_done() phase)

by Daniel Gollub-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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: gollub@...          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


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Opensync-devel mailing list
Opensync-devel@...
https://lists.sourceforge.net/lists/listinfo/opensync-devel

signature.asc (204 bytes) Download Attachment

Re: Fixed SyncML plugin commit limitation and reenabled pending limit in OpenSync

by Michael Bell :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

-----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
michael.bell@...       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-----

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Opensync-devel mailing list
Opensync-devel@...
https://lists.sourceforge.net/lists/listinfo/opensync-devel

Re: Fixed SyncML plugin commit limitation and reenabled pending limit in OpenSync

by Daniel Gollub-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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: gollub@...          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


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Opensync-devel mailing list
Opensync-devel@...
https://lists.sourceforge.net/lists/listinfo/opensync-devel

signature.asc (204 bytes) Download Attachment