@@ -18,15 +18,11 @@ use rt::rtio::{IoFactory, IoFactoryObject,
18
18
RtioTcpStream , RtioTcpStreamObject } ;
19
19
use rt:: local:: Local ;
20
20
21
- pub struct TcpStream {
22
- rtstream : ~RtioTcpStreamObject
23
- }
21
+ pub struct TcpStream ( ~RtioTcpStreamObject ) ;
24
22
25
23
impl TcpStream {
26
24
fn new ( s : ~RtioTcpStreamObject ) -> TcpStream {
27
- TcpStream {
28
- rtstream : s
29
- }
25
+ TcpStream ( s)
30
26
}
31
27
32
28
pub fn connect ( addr : IpAddr ) -> Option < TcpStream > {
@@ -38,22 +34,19 @@ impl TcpStream {
38
34
} ;
39
35
40
36
match stream {
41
- Ok ( s) => {
42
- Some ( TcpStream :: new ( s) )
43
- }
37
+ Ok ( s) => Some ( TcpStream :: new ( s) ) ,
44
38
Err ( ioerr) => {
45
39
rtdebug ! ( "failed to connect: %?" , ioerr) ;
46
40
io_error:: cond. raise ( ioerr) ;
47
- return None ;
41
+ None
48
42
}
49
43
}
50
44
}
51
45
}
52
46
53
47
impl Reader for TcpStream {
54
48
fn read ( & mut self , buf : & mut [ u8 ] ) -> Option < uint > {
55
- let bytes_read = self . rtstream . read ( buf) ;
56
- match bytes_read {
49
+ match ( * * self ) . read ( buf) {
57
50
Ok ( read) => Some ( read) ,
58
51
Err ( ioerr) => {
59
52
// EOF is indicated by returning None
@@ -70,8 +63,7 @@ impl Reader for TcpStream {
70
63
71
64
impl Writer for TcpStream {
72
65
fn write ( & mut self , buf : & [ u8 ] ) {
73
- let res = self . rtstream . write ( buf) ;
74
- match res {
66
+ match ( * * self ) . write ( buf) {
75
67
Ok ( _) => ( ) ,
76
68
Err ( ioerr) => {
77
69
io_error:: cond. raise ( ioerr) ;
@@ -82,9 +74,7 @@ impl Writer for TcpStream {
82
74
fn flush ( & mut self ) { fail ! ( ) }
83
75
}
84
76
85
- pub struct TcpListener {
86
- rtlistener : ~RtioTcpListenerObject ,
87
- }
77
+ pub struct TcpListener ( ~RtioTcpListenerObject ) ;
88
78
89
79
impl TcpListener {
90
80
pub fn bind ( addr : IpAddr ) -> Option < TcpListener > {
@@ -93,11 +83,7 @@ impl TcpListener {
93
83
( * io) . tcp_bind ( addr)
94
84
} ;
95
85
match listener {
96
- Ok ( l) => {
97
- Some ( TcpListener {
98
- rtlistener : l
99
- } )
100
- }
86
+ Ok ( l) => Some ( TcpListener ( l) ) ,
101
87
Err ( ioerr) => {
102
88
io_error:: cond. raise ( ioerr) ;
103
89
return None ;
@@ -108,8 +94,7 @@ impl TcpListener {
108
94
109
95
impl Listener < TcpStream > for TcpListener {
110
96
fn accept ( & mut self ) -> Option < TcpStream > {
111
- let rtstream = self . rtlistener . accept ( ) ;
112
- match rtstream {
97
+ match ( * * self ) . accept ( ) {
113
98
Ok ( s) => {
114
99
Some ( TcpStream :: new ( s) )
115
100
}
0 commit comments