[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