Tôi muốn xóa tất cả các trình xử lý khỏi quyền IO_service trước khi tôi sử dụng lại nó. Điều này có thể không?Xóa tất cả các trình xử lý khỏi một tăng :: asio :: io_service mà không cần gọi chúng
Tôi đang viết các bài kiểm tra đơn vị có liên quan đến asio::io_service
. Ở giữa mỗi trường hợp thử nghiệm, tôi muốn xóa các trình xử lý khỏi toàn cầu io_service
. Tôi nghĩ rằng io_service::reset
sẽ như vậy nhưng nó không. reset()
chỉ cho phép io_service
được tiếp tục. Tất cả các trình xử lý từ trường hợp thử nghiệm cuối cùng vẫn được xếp hàng đợi.
Tôi chỉ cần thực hiện việc này để kiểm tra đơn vị để mọi hoạt động hack điên rồ hoạt động.
Thông tin thêm:
Các io_service
là từ một biến deadline_timer
thành viên. Các deadline_timer
là một phần của mã tôi đang thử nghiệm vì vậy tôi không thể thay đổi cách nó được xây dựng. Tôi giữ một số của nó io_service
thông qua phương pháp get_io_service
của deadline_timer
.
Bạn không thể tạo một 'io_service' trong phương thức' setup() 'và sau đó phá hủy nó trong phương thức' teardown() 'của bạn, có thể không? –