1
1
extern crate mio;
2
2
extern crate clap;
3
- extern crate libc;
4
3
extern crate socket2;
5
4
6
5
use std;
@@ -10,7 +9,7 @@ use clap::{Arg, ArgMatches};
10
9
use mio:: { Events , Event , Poll , Ready , PollOpt , Token } ;
11
10
use libc:: { AF_UNSPEC , AF_INET , AF_INET6 , AF_UNIX } ;
12
11
use std:: io;
13
- use std:: net:: { SocketAddr } ;
12
+ use std:: net:: SocketAddr ;
14
13
use mio:: unix:: EventedFd ;
15
14
use std:: io:: { Read , Write , ErrorKind } ;
16
15
use mio:: unix:: UnixReady ;
@@ -81,10 +80,10 @@ fn debug_info(msg: &str) {
81
80
82
81
impl NcOptions {
83
82
pub fn parse ( matches : ArgMatches , msg : & str ) -> Result < NcOptions , MesaError > {
84
- let mut portlist = vec ! ( ) ;
83
+ let mut portlist = vec ! [ ] ;
85
84
let lflag = matches. is_present ( "l" ) ;
86
85
let mut host = String :: from ( "127.0.0.1" ) ;
87
- let uport: String ;
86
+ let uport: String ;
88
87
let mut interval = None ;
89
88
let mut timeout = None ;
90
89
let s_addr = match matches. value_of ( "s" ) {
@@ -98,11 +97,7 @@ impl NcOptions {
98
97
let kflag = matches. is_present ( "k" ) ;
99
98
100
99
/* Cruft to make sure options are clean, and used properly. */
101
- let positionals: Vec < & str > = if matches. is_present ( "positionals" ) {
102
- matches. values_of ( "positionals" ) . unwrap ( ) . collect ( )
103
- } else {
104
- vec ! ( )
105
- } ;
100
+ let positionals: Vec < & str > = matches. values_of ( "positionals" ) . unwrap ( ) . collect ( ) ;
106
101
107
102
let family = if matches. is_present ( "U" ) {
108
103
AF_UNIX
@@ -128,7 +123,7 @@ impl NcOptions {
128
123
host = String :: from ( positionals[ 0 ] ) ;
129
124
uport = String :: from ( positionals[ 1 ] ) ;
130
125
} else {
131
- return mesaerr_result ( msg ) ;
126
+ unreachable ! ( )
132
127
}
133
128
134
129
if lflag && s_addr. is_some ( ) {
@@ -345,7 +340,7 @@ impl <'a> NcCore<'a> {
345
340
} else if self . stdinbuf_full ( ) {
346
341
self . disable_stdin ( ) ?;
347
342
}
348
- }
343
+ }
349
344
350
345
// if net writable and buf not empty, try to write to net
351
346
// error, stop watching for netout
@@ -444,81 +439,81 @@ impl <'a> NcCore<'a> {
444
439
self . netinbufpos >= BUFSIZE
445
440
}
446
441
447
- fn remove_stdin ( & mut self ) -> std :: io:: Result < ( ) > {
442
+ fn remove_stdin ( & mut self ) -> io:: Result < ( ) > {
448
443
remove_item ( & mut self . open_ends , NcCore :: STDIN_POLL ) ;
449
444
self . poll . deregister ( & self . event_stdin )
450
445
}
451
446
452
- fn remove_stdout ( & mut self ) -> std :: io:: Result < ( ) > {
447
+ fn remove_stdout ( & mut self ) -> io:: Result < ( ) > {
453
448
debug_info ( "remove_stdout" ) ;
454
449
remove_item ( & mut self . open_ends , NcCore :: STDOUT_POLL ) ;
455
450
self . poll . deregister ( & self . event_stdout )
456
451
}
457
452
458
- fn remove_netin ( & mut self ) -> std :: io:: Result < ( ) > {
453
+ fn remove_netin ( & mut self ) -> io:: Result < ( ) > {
459
454
remove_item ( & mut self . open_ends , NcCore :: NETIN_POLL ) ;
460
455
self . net_interest . remove ( Ready :: readable ( ) ) ;
461
456
self . reregister_net ( )
462
457
}
463
458
464
- fn remove_netout ( & mut self ) -> std :: io:: Result < ( ) > {
459
+ fn remove_netout ( & mut self ) -> io:: Result < ( ) > {
465
460
remove_item ( & mut self . open_ends , NcCore :: NETOUT_POLL ) ;
466
461
self . net_interest . remove ( Ready :: writable ( ) ) ;
467
462
return self . reregister_net ( ) ;
468
463
}
469
464
470
- fn reregister_net ( & mut self ) -> std :: io:: Result < ( ) > {
465
+ fn reregister_net ( & mut self ) -> io:: Result < ( ) > {
471
466
self . poll . reregister ( & self . event_net , NcCore :: TK_NET , self . net_interest ,
472
467
PollOpt :: empty ( ) )
473
468
}
474
469
475
- fn enable_netin ( & mut self ) -> std :: io:: Result < ( ) > {
470
+ fn enable_netin ( & mut self ) -> io:: Result < ( ) > {
476
471
self . net_interest |= Ready :: readable ( ) ;
477
472
self . reregister_net ( )
478
473
}
479
474
480
- fn disable_netin ( & mut self ) -> std :: io:: Result < ( ) > {
475
+ fn disable_netin ( & mut self ) -> io:: Result < ( ) > {
481
476
self . net_interest . remove ( Ready :: readable ( ) ) ;
482
- self . reregister_net ( )
477
+ self . reregister_net ( )
483
478
}
484
479
485
- fn enable_netout ( & mut self ) -> std :: io:: Result < ( ) > {
480
+ fn enable_netout ( & mut self ) -> io:: Result < ( ) > {
486
481
self . net_interest |= Ready :: writable ( ) ;
487
- self . reregister_net ( )
482
+ self . reregister_net ( )
488
483
}
489
484
490
- fn disable_netout ( & mut self ) -> std :: io:: Result < ( ) > {
485
+ fn disable_netout ( & mut self ) -> io:: Result < ( ) > {
491
486
self . net_interest . remove ( Ready :: writable ( ) ) ;
492
- self . reregister_net ( )
487
+ self . reregister_net ( )
493
488
}
494
489
495
- fn enable_stdin ( & mut self ) -> std :: io:: Result < ( ) > {
490
+ fn enable_stdin ( & mut self ) -> io:: Result < ( ) > {
496
491
self . poll . reregister ( & self . event_stdin , NcCore :: TK_STDIN , Ready :: readable ( ) ,
497
492
PollOpt :: empty ( ) )
498
493
}
499
494
500
- fn disable_stdin ( & mut self ) -> std :: io:: Result < ( ) > {
495
+ fn disable_stdin ( & mut self ) -> io:: Result < ( ) > {
501
496
self . poll . reregister ( & self . event_stdin , NcCore :: TK_STDIN , Ready :: empty ( ) ,
502
497
PollOpt :: empty ( ) )
503
498
}
504
499
505
- fn enable_stdout ( & mut self ) -> std :: io:: Result < ( ) > {
500
+ fn enable_stdout ( & mut self ) -> io:: Result < ( ) > {
506
501
self . poll . reregister ( & self . event_stdout , NcCore :: TK_STDOUT , Ready :: writable ( ) ,
507
502
PollOpt :: empty ( ) )
508
503
}
509
504
510
- fn disable_stdout ( & mut self ) -> std :: io:: Result < ( ) > {
505
+ fn disable_stdout ( & mut self ) -> io:: Result < ( ) > {
511
506
self . poll . reregister ( & self . event_stdout , NcCore :: TK_STDOUT , Ready :: empty ( ) ,
512
507
PollOpt :: empty ( ) )
513
508
}
514
509
515
- fn remove_net ( & mut self ) -> std :: io:: Result < ( ) > {
510
+ fn remove_net ( & mut self ) -> io:: Result < ( ) > {
516
511
remove_item ( & mut self . open_ends , NcCore :: NETIN_POLL ) ;
517
512
remove_item ( & mut self . open_ends , NcCore :: NETOUT_POLL ) ;
518
513
self . poll . deregister ( & self . event_net )
519
514
}
520
515
521
- fn read_stdin ( & mut self ) -> std :: io:: Result < ( ) > {
516
+ fn read_stdin ( & mut self ) -> io:: Result < ( ) > {
522
517
let mut remove = false ;
523
518
match io:: stdin ( ) . read ( & mut self . stdinbuf [ self . stdinbufpos ..] ) {
524
519
Ok ( len) => {
@@ -538,7 +533,7 @@ impl <'a> NcCore<'a> {
538
533
Ok ( ( ) )
539
534
}
540
535
541
- fn write_netout ( & mut self ) -> std :: io:: Result < ( ) > {
536
+ fn write_netout ( & mut self ) -> io:: Result < ( ) > {
542
537
let mut remove = false ;
543
538
match self . sock . write ( & mut self . stdinbuf [ 0 ..self . stdinbufpos ] ) {
544
539
Ok ( len) => {
@@ -567,7 +562,7 @@ impl <'a> NcCore<'a> {
567
562
Ok ( ( ) )
568
563
}
569
564
570
- fn read_netin ( & mut self ) -> std :: io:: Result < ( ) > {
565
+ fn read_netin ( & mut self ) -> io:: Result < ( ) > {
571
566
let mut remove = false ;
572
567
match self . sock . read ( & mut self . netinbuf [ self . netinbufpos ..] ) {
573
568
Ok ( len) => {
@@ -587,7 +582,7 @@ impl <'a> NcCore<'a> {
587
582
Ok ( ( ) )
588
583
}
589
584
590
- fn write_stdout ( & mut self ) -> std :: io:: Result < ( ) > {
585
+ fn write_stdout ( & mut self ) -> io:: Result < ( ) > {
591
586
let mut remove = false ;
592
587
match io:: stdout ( ) . write ( & mut self . netinbuf [ 0 ..self . netinbufpos ] ) {
593
588
Ok ( len) => {
@@ -607,14 +602,14 @@ impl <'a> NcCore<'a> {
607
602
_ => remove = true
608
603
}
609
604
} ,
610
- }
605
+ }
611
606
if remove {
612
607
return self . remove_stdout ( ) ;
613
608
}
614
- Ok ( ( ) )
609
+ Ok ( ( ) )
615
610
}
616
611
617
- fn handle_error_event ( & mut self , event : & Event ) -> std :: io:: Result < ( ) > {
612
+ fn handle_error_event ( & mut self , event : & Event ) -> io:: Result < ( ) > {
618
613
match event. token ( ) {
619
614
NcCore :: TK_STDIN => self . remove_stdin ( ) ,
620
615
NcCore :: TK_STDOUT => self . remove_stdout ( ) ,
@@ -623,7 +618,7 @@ impl <'a> NcCore<'a> {
623
618
}
624
619
}
625
620
626
- fn handle_hup_event ( & mut self , event : & Event ) -> std :: io:: Result < ( ) > {
621
+ fn handle_hup_event ( & mut self , event : & Event ) -> io:: Result < ( ) > {
627
622
if !self . stdin_gone ( ) && event. token ( ) == NcCore :: TK_STDIN &&
628
623
!event. readiness ( ) . is_readable ( ) {
629
624
self . remove_stdin ( ) ?
@@ -667,7 +662,7 @@ impl <'a> NcCore<'a> {
667
662
debug_info ( & format ! ( "new_ready_end {:?}" , new_ready_end) ) ;
668
663
}
669
664
}
670
- * last_ready_end = new_ready_end;
665
+ * last_ready_end = new_ready_end;
671
666
}
672
667
}
673
668
@@ -910,9 +905,9 @@ where
910
905
. takes_value ( true ) )
911
906
. arg ( Arg :: with_name ( "s" )
912
907
. short ( "s" )
913
- . value_name ( "source_ip_address" )
908
+ . value_name ( "source_ip_address" )
914
909
. takes_value ( true )
915
- . help ( "Specifies the IP of the interface which is used to send the packets. It is an error to use this option in conjunction with the -l option." ) )
910
+ . help ( "Specifies the IP of the interface which is used to send the packets. It is an error to use this option in conjunction with the -l option." ) )
916
911
. arg ( Arg :: with_name ( "d" )
917
912
. short ( "d" )
918
913
. help ( "Do not attempt to read from stdin." ) )
0 commit comments