根据boost asio文档,如果我在一个挂起异步连接操作的套接字上调用close,则会立即使用错误代码“立即”调用该处理程序。来自文档:
此功能用于关闭套接字。任何异步发送,接收或连接操作都将立即取消,并将以boost :: asio :: error :: operation_aborted错误完成。
但是处理程序实际上并不是立即/同步调用的,当控制返回到io_service时会异步调用它。在我调用close之后,如果连接实际成功且我的处理程序回调已经发布到io_service,我的连接处理程序是否仍然可以被调用而没有错误代码?