假设我的应用程序正在使用一个Server具有回调的库对象,该回调在与客户端建立新连接时onConnected传递Connection对象的引用; 该Server保留的所有权Connection.我想破坏它Connection何时关闭(无论是本地还是远程),但我不确定如何最好地处理通知正在使用连接的应用程序.
显而易见的解决方案是进行某种onDisconnected回调,或者delete立即进行,允许应用程序在尝试继续使用时崩溃,或者将其传递shared_ptr给对象,直到应用程序清理它为止.这些方法对我来说都不是特别好.前者只是觉得不安全,后者混淆了谁拥有连接的概念,如果应用程序忽略了回调,则可能发生泄漏.
我是否缺少一些惯用的解决方案,或者只是一种更好的方法?