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
@@ -127,8 +122,6 @@ impl NcOptions {
127
122
} else if positionals. len ( ) >= 2 {
128
123
host = String :: from ( positionals[ 0 ] ) ;
129
124
uport = String :: from ( positionals[ 1 ] ) ;
130
- } else {
131
- return mesaerr_result ( msg) ;
132
125
}
133
126
134
127
if lflag && s_addr. is_some ( ) {
@@ -345,7 +338,7 @@ impl <'a> NcCore<'a> {
345
338
} else if self . stdinbuf_full ( ) {
346
339
self . disable_stdin ( ) ?;
347
340
}
348
- }
341
+ }
349
342
350
343
// if net writable and buf not empty, try to write to net
351
344
// error, stop watching for netout
@@ -444,81 +437,81 @@ impl <'a> NcCore<'a> {
444
437
self . netinbufpos >= BUFSIZE
445
438
}
446
439
447
- fn remove_stdin ( & mut self ) -> std :: io:: Result < ( ) > {
440
+ fn remove_stdin ( & mut self ) -> io:: Result < ( ) > {
448
441
remove_item ( & mut self . open_ends , NcCore :: STDIN_POLL ) ;
449
442
self . poll . deregister ( & self . event_stdin )
450
443
}
451
444
452
- fn remove_stdout ( & mut self ) -> std :: io:: Result < ( ) > {
445
+ fn remove_stdout ( & mut self ) -> io:: Result < ( ) > {
453
446
debug_info ( "remove_stdout" ) ;
454
447
remove_item ( & mut self . open_ends , NcCore :: STDOUT_POLL ) ;
455
448
self . poll . deregister ( & self . event_stdout )
456
449
}
457
450
458
- fn remove_netin ( & mut self ) -> std :: io:: Result < ( ) > {
451
+ fn remove_netin ( & mut self ) -> io:: Result < ( ) > {
459
452
remove_item ( & mut self . open_ends , NcCore :: NETIN_POLL ) ;
460
453
self . net_interest . remove ( Ready :: readable ( ) ) ;
461
454
self . reregister_net ( )
462
455
}
463
456
464
- fn remove_netout ( & mut self ) -> std :: io:: Result < ( ) > {
457
+ fn remove_netout ( & mut self ) -> io:: Result < ( ) > {
465
458
remove_item ( & mut self . open_ends , NcCore :: NETOUT_POLL ) ;
466
459
self . net_interest . remove ( Ready :: writable ( ) ) ;
467
460
return self . reregister_net ( ) ;
468
461
}
469
462
470
- fn reregister_net ( & mut self ) -> std :: io:: Result < ( ) > {
463
+ fn reregister_net ( & mut self ) -> io:: Result < ( ) > {
471
464
self . poll . reregister ( & self . event_net , NcCore :: TK_NET , self . net_interest ,
472
465
PollOpt :: empty ( ) )
473
466
}
474
467
475
- fn enable_netin ( & mut self ) -> std :: io:: Result < ( ) > {
468
+ fn enable_netin ( & mut self ) -> io:: Result < ( ) > {
476
469
self . net_interest |= Ready :: readable ( ) ;
477
470
self . reregister_net ( )
478
471
}
479
472
480
- fn disable_netin ( & mut self ) -> std :: io:: Result < ( ) > {
473
+ fn disable_netin ( & mut self ) -> io:: Result < ( ) > {
481
474
self . net_interest . remove ( Ready :: readable ( ) ) ;
482
- self . reregister_net ( )
475
+ self . reregister_net ( )
483
476
}
484
477
485
- fn enable_netout ( & mut self ) -> std :: io:: Result < ( ) > {
478
+ fn enable_netout ( & mut self ) -> io:: Result < ( ) > {
486
479
self . net_interest |= Ready :: writable ( ) ;
487
- self . reregister_net ( )
480
+ self . reregister_net ( )
488
481
}
489
482
490
- fn disable_netout ( & mut self ) -> std :: io:: Result < ( ) > {
483
+ fn disable_netout ( & mut self ) -> io:: Result < ( ) > {
491
484
self . net_interest . remove ( Ready :: writable ( ) ) ;
492
- self . reregister_net ( )
485
+ self . reregister_net ( )
493
486
}
494
487
495
- fn enable_stdin ( & mut self ) -> std :: io:: Result < ( ) > {
488
+ fn enable_stdin ( & mut self ) -> io:: Result < ( ) > {
496
489
self . poll . reregister ( & self . event_stdin , NcCore :: TK_STDIN , Ready :: readable ( ) ,
497
490
PollOpt :: empty ( ) )
498
491
}
499
492
500
- fn disable_stdin ( & mut self ) -> std :: io:: Result < ( ) > {
493
+ fn disable_stdin ( & mut self ) -> io:: Result < ( ) > {
501
494
self . poll . reregister ( & self . event_stdin , NcCore :: TK_STDIN , Ready :: empty ( ) ,
502
495
PollOpt :: empty ( ) )
503
496
}
504
497
505
- fn enable_stdout ( & mut self ) -> std :: io:: Result < ( ) > {
498
+ fn enable_stdout ( & mut self ) -> io:: Result < ( ) > {
506
499
self . poll . reregister ( & self . event_stdout , NcCore :: TK_STDOUT , Ready :: writable ( ) ,
507
500
PollOpt :: empty ( ) )
508
501
}
509
502
510
- fn disable_stdout ( & mut self ) -> std :: io:: Result < ( ) > {
503
+ fn disable_stdout ( & mut self ) -> io:: Result < ( ) > {
511
504
self . poll . reregister ( & self . event_stdout , NcCore :: TK_STDOUT , Ready :: empty ( ) ,
512
505
PollOpt :: empty ( ) )
513
506
}
514
507
515
- fn remove_net ( & mut self ) -> std :: io:: Result < ( ) > {
508
+ fn remove_net ( & mut self ) -> io:: Result < ( ) > {
516
509
remove_item ( & mut self . open_ends , NcCore :: NETIN_POLL ) ;
517
510
remove_item ( & mut self . open_ends , NcCore :: NETOUT_POLL ) ;
518
511
self . poll . deregister ( & self . event_net )
519
512
}
520
513
521
- fn read_stdin ( & mut self ) -> std :: io:: Result < ( ) > {
514
+ fn read_stdin ( & mut self ) -> io:: Result < ( ) > {
522
515
let mut remove = false ;
523
516
match io:: stdin ( ) . read ( & mut self . stdinbuf [ self . stdinbufpos ..] ) {
524
517
Ok ( len) => {
@@ -538,7 +531,7 @@ impl <'a> NcCore<'a> {
538
531
Ok ( ( ) )
539
532
}
540
533
541
- fn write_netout ( & mut self ) -> std :: io:: Result < ( ) > {
534
+ fn write_netout ( & mut self ) -> io:: Result < ( ) > {
542
535
let mut remove = false ;
543
536
match self . sock . write ( & mut self . stdinbuf [ 0 ..self . stdinbufpos ] ) {
544
537
Ok ( len) => {
@@ -567,7 +560,7 @@ impl <'a> NcCore<'a> {
567
560
Ok ( ( ) )
568
561
}
569
562
570
- fn read_netin ( & mut self ) -> std :: io:: Result < ( ) > {
563
+ fn read_netin ( & mut self ) -> io:: Result < ( ) > {
571
564
let mut remove = false ;
572
565
match self . sock . read ( & mut self . netinbuf [ self . netinbufpos ..] ) {
573
566
Ok ( len) => {
@@ -587,7 +580,7 @@ impl <'a> NcCore<'a> {
587
580
Ok ( ( ) )
588
581
}
589
582
590
- fn write_stdout ( & mut self ) -> std :: io:: Result < ( ) > {
583
+ fn write_stdout ( & mut self ) -> io:: Result < ( ) > {
591
584
let mut remove = false ;
592
585
match io:: stdout ( ) . write ( & mut self . netinbuf [ 0 ..self . netinbufpos ] ) {
593
586
Ok ( len) => {
@@ -607,14 +600,14 @@ impl <'a> NcCore<'a> {
607
600
_ => remove = true
608
601
}
609
602
} ,
610
- }
603
+ }
611
604
if remove {
612
605
return self . remove_stdout ( ) ;
613
606
}
614
- Ok ( ( ) )
607
+ Ok ( ( ) )
615
608
}
616
609
617
- fn handle_error_event ( & mut self , event : & Event ) -> std :: io:: Result < ( ) > {
610
+ fn handle_error_event ( & mut self , event : & Event ) -> io:: Result < ( ) > {
618
611
match event. token ( ) {
619
612
NcCore :: TK_STDIN => self . remove_stdin ( ) ,
620
613
NcCore :: TK_STDOUT => self . remove_stdout ( ) ,
@@ -623,7 +616,7 @@ impl <'a> NcCore<'a> {
623
616
}
624
617
}
625
618
626
- fn handle_hup_event ( & mut self , event : & Event ) -> std :: io:: Result < ( ) > {
619
+ fn handle_hup_event ( & mut self , event : & Event ) -> io:: Result < ( ) > {
627
620
if !self . stdin_gone ( ) && event. token ( ) == NcCore :: TK_STDIN &&
628
621
!event. readiness ( ) . is_readable ( ) {
629
622
self . remove_stdin ( ) ?
@@ -667,7 +660,7 @@ impl <'a> NcCore<'a> {
667
660
debug_info ( & format ! ( "new_ready_end {:?}" , new_ready_end) ) ;
668
661
}
669
662
}
670
- * last_ready_end = new_ready_end;
663
+ * last_ready_end = new_ready_end;
671
664
}
672
665
}
673
666
@@ -910,9 +903,9 @@ where
910
903
. takes_value ( true ) )
911
904
. arg ( Arg :: with_name ( "s" )
912
905
. short ( "s" )
913
- . value_name ( "source_ip_address" )
906
+ . value_name ( "source_ip_address" )
914
907
. 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." ) )
908
+ . 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
909
. arg ( Arg :: with_name ( "d" )
917
910
. short ( "d" )
918
911
. help ( "Do not attempt to read from stdin." ) )
0 commit comments