サンプルサーバーを適応させようとすると、TcpStream
私が求めているものと私が得ているものがまったく異なるように見えるこの動作をどうすればよいかわかりません。
構造体定義の例:
use mio::tcp::TcpStream;
struct Connection {
socket: TcpStream
}
後で、 に対して定義された関数がありますConnection
。
fn writable(&mut self, event_loop: &mut EventLoop<Server>) -> Result<()> {
loop {
let (len, res) = {
let buf = &self.buffer.bytes();
let len = buf.len();
let res = self.socket.write_slice(buf);
(len, res)
};
次のエラーがwrite_slice
表示されます。
error: type `std::net::tcp::TcpStream` does not implement any method in scope named `write_slice`
現在std::net::tcp::TcpStream
はこれを実装していませんが、実装してmio::tcp::TcpStream
います。なぜ一方が他方の代わりになるのでしょうか?
これをエイリアスとして設定しても、これにuse mil::tcp::TcpStream as MioTcpStream
は影響しません。