पर कॉल किए बिना निकालें, मैं इसे पुन: उपयोग करने से ठीक पहले IO_service से सभी हैंडलर को हटाना चाहता हूं। क्या यह संभव है?सभी हैंडलर को बूस्ट :: एएसओ :: io_service से उन्हें
मैं यूनिट परीक्षण लिख रहा हूं जिसमें asio::io_service
शामिल है। प्रत्येक टेस्ट केस के बीच में मैं वैश्विक io_service
से हैंडलर को साफ़ करना चाहता हूं। मैंने सोचा कि io_service::reset
ऐसा होगा लेकिन यह नहीं करता है। reset()
केवल io_service
को फिर से शुरू करने की अनुमति देता है। अंतिम टेस्ट केस के सभी हैंडलर अभी भी कतारबद्ध हैं।
मुझे केवल यूनिट परीक्षण के लिए ऐसा करने की आवश्यकता है ताकि कोई पागल हैक काम करे।
और जानकारी:
io_service
एक deadline_timer
सदस्य चर से है। deadline_timer
मैं जिस कोड का परीक्षण कर रहा हूं उसका हिस्सा है, इसलिए मैं इसे कैसे बदल सकता हूं इसे बदल नहीं सकता। मुझे की get_io_service
विधि के माध्यम से io_service
पर पकड़ प्राप्त है।
आप अपने 'सेटअप()' विधि में 'io_service' नहीं बना सकते हैं और फिर इसे अपने' टियरडाउन() 'विधि में नष्ट कर सकते हैं, क्या आप कर सकते हैं? –