재사용하기 전에 IO_service에서 모든 핸들러를 제거하고 싶습니다. 이것이 가능한가?부스트 :: asio :: io_service에서 모든 핸들러를 호출하지 않고 호출합니다.
asio::io_service
과 관련된 단위 테스트를 작성하고 있습니다. 각 테스트 케이스 사이에 글로벌 io_service
핸들러를 지우고 싶습니다. 나는 그게 io_service::reset
것이라고 생각했지만 그렇지 않습니다. reset()
은 io_service
만 재개 할 수 있습니다. 마지막 테스트 케이스의 모든 핸들러는 여전히 대기열에 있습니다.
단위 테스트를 위해이 작업을 수행하면 미친 해킹이 효과적입니다.
더 많은 정보 : io_service
는 deadline_timer
멤버 변수에서입니다
. deadline_timer
은 내가 테스트하고있는 코드의 일부로, 어떻게 구성되었는지 변경할 수 없습니다. deadline_timer
의 get_io_service
메소드를 통해 io_service
을 보유하고 있습니다.
'setup()'메소드에서'io_service'를 생성 한 다음'teardown()'메소드에서 그것을 파괴 할 수 있습니까? –