implemented TcpListener
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
4b99b46810
commit
bb14e64e88
@ -9,6 +9,7 @@ use std::collections::HashMap;
|
||||
use std::ffi::CString;
|
||||
use std::fs::File;
|
||||
use std::io::Read;
|
||||
use std::net::TcpListener;
|
||||
use std::os::unix::io::IntoRawFd;
|
||||
use std::path::PathBuf;
|
||||
|
||||
@ -192,7 +193,14 @@ impl<'a> Spawner<'a> {
|
||||
Arg::Pipe(p) => Err(Error::BadPipe(p.get_name().to_string())),
|
||||
|
||||
Arg::Trigger => Ok(trigger.args()),
|
||||
Arg::TcpListener { port: _port } => unimplemented!(),
|
||||
|
||||
Arg::TcpListener { addr } => {
|
||||
let listener = TcpListener::bind(addr)?;
|
||||
let listener = listener.into_raw_fd();
|
||||
|
||||
Ok(vec![CString::new(listener.to_string()).unwrap()])
|
||||
}
|
||||
|
||||
Arg::Trailing => Ok(self
|
||||
.trailing
|
||||
.iter()
|
||||
|
@ -3,6 +3,7 @@ use log::debug;
|
||||
use crate::{Error, Result};
|
||||
|
||||
use std::collections::{HashMap, HashSet};
|
||||
use std::net::SocketAddr;
|
||||
use std::path::PathBuf;
|
||||
|
||||
use ipnetwork::{Ipv4Network, Ipv6Network};
|
||||
@ -51,7 +52,7 @@ pub enum Arg {
|
||||
Trigger,
|
||||
|
||||
/// A TCP Listener
|
||||
TcpListener { port: u16 },
|
||||
TcpListener { addr: SocketAddr },
|
||||
|
||||
/// The rest of argv[1..], 0 or more arguments
|
||||
Trailing,
|
||||
|
Loading…
Reference in New Issue
Block a user