On mer, 2007-11-21 at 12:28 -0500, Robert McQueen wrote: > More generally, Telepathy has unresolved issues about when it makes > sense to close a channel. In the case of a chat, when you close the > window that has the message view in it seems a reaonable time, but > discussions on IRC havn't yet yielded a reasonable solution for when to > close a file transfer or tube negotiation channel which contains > multiple transfers which have been negotiated by/for different programs > or are displayed in different places in the UI. Answers on a postcard... :)
With the proposed draft for MC spec, it's MC which is responsible to Close the channel when there is no chandler anymore. For Tubes/FT, it's a special case and MC will close the tube/ft on the channel when there is no lower priority chandlers and will close the channel if there is no remaining tube/ft on it. For example, when MC gets a Text channel, first the logger chandler gets it and tell MC to dispatch it to lower priority chandlers, MC will then start the chat UI which will tell MC to dispatch to lower chandler once the use close the window. MC won't have other chandlers so the Text channel gets closed at that point. Of course some post-processing chandler could get the channel after the chat ui is closed if it wants. The only problem with that schema is for FT/Tubes channels, if there is no more running FT MC will close the channel, but what if CM just created a new FT but MC didn't received the signal yet? In that case the FT is lost. To solve that, Close() should fail if there is still some open FT/Tube on the channel. Xavier Claessens. _______________________________________________ Telepathy mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/telepathy
