@@ -172,16 +172,11 @@ impl ConnReader {
172
172
173
173
/// Read from the socket until the status is NotReady
174
174
fn read ( & mut self ) ->Poll < ( ) , io:: Error > {
175
- debug ! ( "read()" ) ;
176
175
loop {
177
176
match self . stream . poll_read ( ) {
178
177
Async :: Ready ( _) =>{
179
- // extend if needed
180
- if self . read_pos >=self . read_buf . len ( ) {
181
- self . read_buf . extend_from_slice ( & vec ! [ 0u8 ; 4096 ] ) ;
182
- }
178
+ //TODO: ensure capacity first
183
179
let n =try_nb ! ( ( & * self . stream) . read( & mut self . read_buf[ self . read_pos..] ) ) ;
184
-
185
180
if n ==0 {
186
181
return Err ( Error :: new ( ErrorKind :: Other , "connection closed" ) ) ;
187
182
}
@@ -193,7 +188,6 @@ impl ConnReader {
193
188
}
194
189
195
190
fn next ( & mut self ) ->Option < Packet > {
196
- debug ! ( "next()" ) ;
197
191
// do we have a header
198
192
if self . read_pos >3 {
199
193
let l =parse_packet_length ( & self . read_buf ) ;
@@ -236,25 +230,14 @@ impl ConnWriter {
236
230
237
231
/// Write a packet to the write buffer
238
232
fn push ( & mut self , p : & Packet ) {
239
- debug ! ( "push() capacity: {} position: {} packet_size: {}" ,
240
- self . write_buf. capacity( ) , self . write_pos, p. bytes. len( ) ) ;
241
- // Conditionally extend
242
- if ( self . write_pos + p. bytes . len ( ) ) >=self . write_buf . capacity ( ) {
243
- let size =( self . write_pos + p. bytes . len ( ) ) -self . write_buf . capacity ( ) ;
244
- self . write_buf . extend_from_slice ( & vec ! [ 0u8 ; size] ) ;
245
- debug ! ( "push() extend to capacity {}" , self . write_buf. capacity( ) ) ;
246
- }
247
-
248
233
for iin 0 .. p. bytes . len ( ) {
249
- self . write_buf . insert ( self . write_pos + ias usize , p. bytes [ i] ) ;
234
+ self . write_buf [ self . write_pos + i] = p. bytes [ i] ;
250
235
}
251
236
self . write_pos += p. bytes . len ( ) ;
252
- debug ! ( "end push()" ) ;
253
237
}
254
238
255
239
/// Writes the contents of the write buffer to the socket
256
240
fn write ( & mut self ) ->Poll < ( ) , io:: Error > {
257
- debug ! ( "write()" ) ;
258
241
while self . write_pos >0 {
259
242
match self . stream . poll_write ( ) {
260
243
Async :: Ready ( _) =>{