netcfg: add sockets/list node for active connection count
This commit is contained in:
@@ -170,6 +170,7 @@ impl Smolnetd {
|
||||
netcfg_file,
|
||||
Rc::clone(&route_table),
|
||||
Rc::clone(&devices),
|
||||
Rc::clone(&socket_set),
|
||||
)?,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ use crate::router::route_table::{RouteTable, Rule};
|
||||
|
||||
use self::nodes::*;
|
||||
use self::notifier::*;
|
||||
use super::{post_fevent, Interface};
|
||||
use super::{post_fevent, Interface, SocketSet};
|
||||
|
||||
const WRITE_BUFFER_MAX_SIZE: usize = 0xffff;
|
||||
|
||||
@@ -71,8 +71,18 @@ fn mk_root_node(
|
||||
dns_config: DNSConfigRef,
|
||||
route_table: Rc<RefCell<RouteTable>>,
|
||||
devices: Rc<RefCell<DeviceList>>,
|
||||
socket_set: Rc<RefCell<SocketSet>>,
|
||||
) -> CfgNodeRef {
|
||||
cfg_node! {
|
||||
"sockets" => {
|
||||
"list" => {
|
||||
ro [socket_set] || {
|
||||
let set = socket_set.borrow();
|
||||
let mut out = format!("sockets: {}\n", set.iter().count());
|
||||
out
|
||||
}
|
||||
}
|
||||
},
|
||||
"resolv" => {
|
||||
"nameserver" => {
|
||||
rw [dns_config, notifier] (Option<Ipv4Address>, None)
|
||||
@@ -337,6 +347,7 @@ impl NetCfgScheme {
|
||||
scheme_file: Socket,
|
||||
route_table: Rc<RefCell<RouteTable>>,
|
||||
devices: Rc<RefCell<DeviceList>>,
|
||||
socket_set: Rc<RefCell<SocketSet>>,
|
||||
) -> Result<NetCfgScheme> {
|
||||
let notifier = Notifier::new_ref();
|
||||
let dns_config = Rc::new(RefCell::new(DNSConfig {
|
||||
@@ -351,6 +362,7 @@ impl NetCfgScheme {
|
||||
dns_config,
|
||||
route_table,
|
||||
devices,
|
||||
socket_set,
|
||||
),
|
||||
notifier,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user