Hi, all, triggered by the strange behaviour of lists that have already been closed, we looked through the RPC interface of Appserver and found following problems:
1. when somebody forgets to close a session before _destroy'ing it, it remains open forever. 2. same for lists, except that a list is automatically closed when a session is closed 3. the feature to implicitly commit in closing a session is a very dangerous one, especially when considering that a commit can fail 4. the session had login and logout functions that are redundant 5. loosing the connection due to network problems causes the session with all lists to remain open 6. closing a session a session and then not immediately _destroy'ing it leaves it in a completely unusable state, the same holds for lists, so why would we need a separate close anyway? So we completely removed the geasSession.login, geasSession.logout, geasSession.close and geasList.close functions and changed the _destroy function of the objects to clean up things. So if you don't need a geasList any more, simply _destroy it. When you don't need a geasSession any more, simply _destroy it. And, if you just close the TCP connection, the server will automatically call the _destroy for all objects related to that connection (still it would be considered bad style). We hope that this makes using the RPC interface of appserver easier, especially for those that implement a client from scratch (for example our heroes working on the Web client). Thanks, Reinhard and Johannes
signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil
_______________________________________________ Gnue-dev mailing list [email protected] http://lists.gnu.org/mailman/listinfo/gnue-dev
