From 156a4317f6b4c090241d0cbc441a5d34bf4ac1ce Mon Sep 17 00:00:00 2001 From: Jeff Olson Date: Thu, 7 Jun 2012 22:06:42 -0700 Subject: [PATCH] std: finish impl of io::writer for tcp_socket_buf --- src/libstd/net_tcp.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/libstd/net_tcp.rs b/src/libstd/net_tcp.rs index e8541cb991b2..cc329513ab2e 100644 --- a/src/libstd/net_tcp.rs +++ b/src/libstd/net_tcp.rs @@ -778,13 +778,17 @@ impl tcp_socket_buf of io::reader for tcp_socket_buf { } } -/* #[doc=" Implementation of `io::reader` iface for a buffered `net::tcp::tcp_socket` "] impl tcp_socket_buf of io::writer for tcp_socket_buf { - fn write(data: [const u8]/&) { - (*self).sock.write(iter::to_vec(data as [u8]/&)); + fn write(data: [const u8]/&) unsafe { + let socket_data_ptr = ptr::addr_of(**((*self).sock)); + let write_buf_vec = vec::unpack_const_slice(data) {|ptr, len| + [ uv::ll::buf_init(ptr as *u8, len) ] + }; + let write_buf_vec_ptr = ptr::addr_of(write_buf_vec); + write_common_impl(socket_data_ptr, write_buf_vec_ptr); } fn seek(dist: int, seek: io::seek_style) { log(debug, #fmt("tcp_socket_buf seek stub %? %?", dist, seek)); @@ -797,7 +801,6 @@ impl tcp_socket_buf of io::writer for tcp_socket_buf { 0 } } -*/ // INTERNAL API