[BEEPbuilders] questions about session release and channel close

Simon Raess cocoa at gmx.ch
Sun Oct 22 22:33:09 PDT 2006


I am currently implementing a BEEP library in Java for the  
collaborative text editor ACE (http://ace.sourceforge.net/). The  
library will (in its first version) be intentionally simple. Now, I  
have several questions about the BEEP specification.

The first question concerns the session release. RFC 3080 is pretty  
specific about closing channels (section, but few guidelines  
are given for session shutdown (section 2.4).  A BEEP library could  
disallow closing the session when there are still open channels.  
Then, releasing the session would be nothing else than closing  
channel 0 and then dropping the connection. This seems reasonable to  
me, but is that how it is meant to be? And how should a BEEP library  
behave when it receives a close for channel 0 when there are still  
other open channels? Should it send an error element in a negative  
reply, thus denying the close of the session? How do existing BEEP  
frameworks handle this situation?

The second question is about closing channels. How should the  
following situation be handled? If both BEEP peers decide at about  
the same time to close a given channel, then it could happen that the  
two close messages cross in transit. How should this situation be  
dealt with? Intersting effects could arise if one party accepts the  
request and the other declines the other request to close the session.

I'm interested to hear from builders of existing BEEP frameworks how  
the above two situations are handled and I'd really like to hear how  
this was intended from the author(s) of RFC 3080.

Simon Raess

More information about the BEEPbuilders mailing list