Как читать из Mio TcpStream с таймаутом?
Я использую Mioco. mio::net::tcp::TcpStream
не реализует Clone
так что кажется, что невозможно поделиться TcpStream
через несколько потоков / сопрограмм (или, если это возможно, я не уверен, как; я довольно плохо знаком с Rust). Поэтому я предположил, что для одновременного чтения / записи на один TcpStream
необходимо использовать одну сопрограмму для чтения и письма.
Чтобы избежать бесконечной блокировки при чтении, когда входящие данные редки, кажется, что при чтении из TcpStream
, std::net::TcpStream
имеет set_read_timeout
для достижения этого, но я не могу найти эквивалент для mio::net::tcp::TcpStream
, Как бы я пошел по этому поводу? Или есть способ поделиться мио TcpStream
через несколько сопрограмм, избегая необходимости тайм-аута?