1
+ use crate :: io:: Write ;
1
2
use crate :: task:: { Context , Poll } ;
2
3
use futures:: { ready, AsyncWrite , Future , Stream } ;
4
+ use std:: fmt;
3
5
use std:: io:: { self , IntoInnerError } ;
4
6
use std:: pin:: Pin ;
5
- use std:: fmt;
6
- use crate :: io:: Write ;
7
7
8
8
const DEFAULT_CAPACITY : usize = 8 * 1024 ;
9
9
@@ -222,7 +222,7 @@ impl<W: AsyncWrite + Unpin> BufWriter<W> {
222
222
let Self {
223
223
inner,
224
224
buf,
225
- written
225
+ written,
226
226
} = Pin :: get_mut ( self ) ;
227
227
let mut inner = Pin :: new ( inner) ;
228
228
let len = buf. len ( ) ;
@@ -284,10 +284,7 @@ impl<W: AsyncWrite + fmt::Debug + Unpin> fmt::Debug for BufWriter<W> {
284
284
fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
285
285
f. debug_struct ( "BufReader" )
286
286
. field ( "writer" , & self . inner )
287
- . field (
288
- "buf" ,
289
- & self . buf
290
- )
287
+ . field ( "buf" , & self . buf )
291
288
. finish ( )
292
289
}
293
290
}
@@ -357,24 +354,28 @@ impl<W: AsyncWrite + Unpin> LineWriter<W> {
357
354
}
358
355
359
356
impl < W : AsyncWrite + Unpin > AsyncWrite for LineWriter < W > {
360
- fn poll_write ( mut self : Pin < & mut Self > , cx : & mut Context , buf : & [ u8 ] ) -> Poll < io:: Result < usize > > {
357
+ fn poll_write (
358
+ mut self : Pin < & mut Self > ,
359
+ cx : & mut Context ,
360
+ buf : & [ u8 ] ,
361
+ ) -> Poll < io:: Result < usize > > {
361
362
if self . need_flush {
362
363
self . as_mut ( ) . poll_flush ( cx) ?;
363
364
}
364
365
365
366
let i = match memchr:: memrchr ( b'\n' , buf) {
366
367
Some ( i) => i,
367
- None => return self . as_mut ( ) . inner ( ) . as_mut ( ) . poll_write ( cx, buf)
368
+ None => return self . as_mut ( ) . inner ( ) . as_mut ( ) . poll_write ( cx, buf) ,
368
369
} ;
369
370
370
371
let n = ready ! ( self . as_mut( ) . inner( ) . as_mut( ) . poll_write( cx, & buf[ ..=i] ) ?) ;
371
372
* self . as_mut ( ) . need_flush ( ) = true ;
372
373
if ready ! ( self . as_mut( ) . poll_flush( cx) ) . is_err ( ) || n != i + 1 {
373
- return Poll :: Ready ( Ok ( n) )
374
+ return Poll :: Ready ( Ok ( n) ) ;
374
375
}
375
376
match ready ! ( self . inner( ) . poll_write( cx, & buf[ i + 1 ..] ) ) {
376
377
Ok ( i) => Poll :: Ready ( Ok ( n + 1 ) ) ,
377
- Err ( _) => Poll :: Ready ( Ok ( n) )
378
+ Err ( _) => Poll :: Ready ( Ok ( n) ) ,
378
379
}
379
380
}
380
381
@@ -390,21 +391,25 @@ impl<W: AsyncWrite + Unpin> AsyncWrite for LineWriter<W> {
390
391
}
391
392
}
392
393
393
- impl < W : AsyncWrite + Unpin > fmt:: Debug for LineWriter < W > where W : fmt:: Debug {
394
+ impl < W : AsyncWrite + Unpin > fmt:: Debug for LineWriter < W >
395
+ where
396
+ W : fmt:: Debug ,
397
+ {
394
398
fn fmt ( & self , fmt : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
395
399
fmt. debug_struct ( "LineWriter" )
396
400
. field ( "writer" , & self . inner . inner )
397
- . field ( "buffer" ,
398
- & format_args ! ( "{}/{}" , self . inner. buf. len( ) , self . inner. buf. capacity( ) ) )
401
+ . field (
402
+ "buffer" ,
403
+ & format_args ! ( "{}/{}" , self . inner. buf. len( ) , self . inner. buf. capacity( ) ) ,
404
+ )
399
405
. finish ( )
400
406
}
401
407
}
402
408
403
-
404
409
mod tests {
410
+ use super :: LineWriter ;
405
411
use crate :: prelude:: * ;
406
412
use crate :: task;
407
- use super :: LineWriter ;
408
413
409
414
#[ test]
410
415
fn test_line_buffer ( ) {
@@ -424,4 +429,4 @@ mod tests {
424
429
assert_eq ! ( * writer. get_ref( ) , [ 0 , 1 , 0 , b'\n' , 1 , b'\n' , 2 , 3 , b'\n' ] ) ;
425
430
} )
426
431
}
427
- }
432
+ }
0 commit comments