If a client fails to release locks and close file handles before disconnecting from a server, those resources will never be purged from the server. This results in a resource leak, or worse, a deadlock.
One way to avoid this would be to extend the MsgCallback trait with a method which is called when a client disconnects (or the connection times out). We could implement this method in the ServerCallback in such a way that all of the resources held by the disconnecting client are released.
If a client fails to release locks and close file handles before disconnecting from a server, those resources will never be purged from the server. This results in a resource leak, or worse, a deadlock.
One way to avoid this would be to extend the `MsgCallback` trait with a method which is called when a client disconnects (or the connection times out). We could implement this method in the `ServerCallback` in such a way that all of the resources held by the disconnecting client are released.
If a client fails to release locks and close file handles before disconnecting from a server, those resources will never be purged from the server. This results in a resource leak, or worse, a deadlock.
One way to avoid this would be to extend the
MsgCallback
trait with a method which is called when a client disconnects (or the connection times out). We could implement this method in theServerCallback
in such a way that all of the resources held by the disconnecting client are released.