Bug 13272 - Consider adding StopOfferingTube() that corresponds to only close()ing the listening socket
Summary: Consider adding StopOfferingTube() that corresponds to only close()ing the li...
Status: RESOLVED MOVED
Alias: None
Product: Telepathy
Classification: Unclassified
Component: tp-spec (show other bugs)
Version: unspecified
Hardware: All All
: low enhancement
Assignee: Telepathy bugs list
QA Contact: Telepathy bugs list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-11-16 03:33 UTC by Simon McVittie
Modified: 2019-12-03 19:39 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Simon McVittie 2007-11-16 03:33:49 UTC
The model in the current Tubes spec is that when you close the stream tube you were offering, it's because you want to stop offering the service at all. The use case we were thinking of was something like:

* you're in a chatroom with Alice, Bob and Chris
* you offer your desktop over VNC so they can help you with something
* Alice and Bob connect
* when they've helped you with whatever it was you wanted, you close the stream tube
* Alice and Bob automatically get disconnected
* You open confidential files that Alice and Bob shouldn't see, but that's OK because you know they've been disconnected

However, with normal TCP sockets, it's also possible to close() the listening socket while keeping Alice and Bob's connections open. For instance, you might have a two-player game that only wants to listen() until a second player joins, then give ECONNREFUSED to anyone who tries to join thereafter, while keeping a TCP stream going between the two players.

I think we should keep the current CloseTube() semantics, for least astonishment, but we should consider adding a StopOfferingTube() method that stops accepting new connections but leaves existing connections as they are.
Comment 1 GitLab Migration User 2019-12-03 19:39:58 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/telepathy/telepathy-spec/issues/1.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.