[Telepathy] [Bug 14343] New: Connecting to a D-BUS tube can lose messages

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sat Feb 2 21:12:41 PST 2008


http://bugs.freedesktop.org/show_bug.cgi?id=14343

           Summary: Connecting to a D-BUS tube can lose messages
           Product: Telepathy
           Version: unspecified
          Platform: Other
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: telepathy-spec
        AssignedTo: telepathy at lists.freedesktop.org
        ReportedBy: bens at alum.mit.edu


When connecting a D-Bus tube, one first Accepts the tube.  This causes the user
to appear as having joined the tube.  Once this is done, the user can then make
a TubeConnection and use it to listen to signals and method-calls.

This is racy.  If I see another user appear in the tube, and send a message to
that user in response to joining, it is possible for that message to arrive
before the user is ready.  For example, if a signal arrives before the matching
signal receiver has been registered, then the message will simply disappear.

This violates Telepathy's philosophy of causality.  To ensure that messages are
never lost, perhaps there must be a sort of two-phase join.  Initially, after
the user joins, all messages could be queued.  Once the user has added all
relevant signal receivers and remote methods, then the user should disable
queuing.  Alternatively, the user could be marked as present in a second step,
after registering all local objects.  In this case, outbound messages must be
queued until the user has joined.


-- 
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the Telepathy mailing list