mirror of
https://github.com/DragonOS-Community/DragonOS.git
synced 2025-06-18 08:06:32 +00:00
make fmt
This commit is contained in:
@ -133,7 +133,7 @@ pub extern "sysv64" fn syscall_handler(frame: &mut TrapFrame) {
|
||||
show &= false;
|
||||
}
|
||||
}
|
||||
show = false;
|
||||
show &= false;
|
||||
if show {
|
||||
debug!("[SYS] [Pid: {:?}] [Call: {:?}]", pid, to_print);
|
||||
}
|
||||
|
@ -1,16 +1,20 @@
|
||||
/// 引入Module
|
||||
use crate::{driver::{
|
||||
base::{
|
||||
device::{
|
||||
device_number::{DeviceNumber, Major}, Device, DeviceError, IdTable, BLOCKDEVS
|
||||
},
|
||||
map::{
|
||||
DeviceStruct, DEV_MAJOR_DYN_END, DEV_MAJOR_DYN_EXT_END, DEV_MAJOR_DYN_EXT_START,
|
||||
DEV_MAJOR_HASH_SIZE, DEV_MAJOR_MAX,
|
||||
use crate::{
|
||||
driver::{
|
||||
base::{
|
||||
device::{
|
||||
device_number::{DeviceNumber, Major},
|
||||
Device, DeviceError, IdTable, BLOCKDEVS,
|
||||
},
|
||||
map::{
|
||||
DeviceStruct, DEV_MAJOR_DYN_END, DEV_MAJOR_DYN_EXT_END, DEV_MAJOR_DYN_EXT_START,
|
||||
DEV_MAJOR_HASH_SIZE, DEV_MAJOR_MAX,
|
||||
},
|
||||
},
|
||||
block::cache::{cached_block_device::BlockCache, BlockCacheError, BLOCK_SIZE},
|
||||
},
|
||||
block::cache::{cached_block_device::BlockCache, BlockCacheError, BLOCK_SIZE},
|
||||
}, filesystem::sysfs::AttributeGroup};
|
||||
filesystem::sysfs::AttributeGroup,
|
||||
};
|
||||
|
||||
use alloc::{string::String, sync::Arc, vec::Vec};
|
||||
use core::{any::Any, fmt::Display, ops::Deref};
|
||||
|
@ -157,10 +157,14 @@ impl Attribute for UeventAttr {
|
||||
writeln!(&mut uevent_content, "DEVTYPE=char").unwrap();
|
||||
}
|
||||
DeviceType::Net => {
|
||||
let net_device = device.clone().cast::<dyn Iface>().map_err(|e: Arc<dyn Device>| {
|
||||
warn!("device:{:?} is not a net device!", e);
|
||||
SystemError::EINVAL
|
||||
})?;
|
||||
let net_device =
|
||||
device
|
||||
.clone()
|
||||
.cast::<dyn Iface>()
|
||||
.map_err(|e: Arc<dyn Device>| {
|
||||
warn!("device:{:?} is not a net device!", e);
|
||||
SystemError::EINVAL
|
||||
})?;
|
||||
let iface_id = net_device.nic_id();
|
||||
let device_name = device.name();
|
||||
writeln!(&mut uevent_content, "INTERFACE={}", device_name).unwrap();
|
||||
@ -200,7 +204,6 @@ impl Attribute for UeventAttr {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// 将设备的基本信息写入 uevent 文件
|
||||
fn sysfs_emit_str(buf: &mut [u8], content: &str) -> Result<usize, SystemError> {
|
||||
log::info!("sysfs_emit_str");
|
||||
|
@ -255,12 +255,12 @@ impl IfaceCommon {
|
||||
}
|
||||
});
|
||||
|
||||
// let closed_sockets = self
|
||||
// .closing_sockets
|
||||
// .lock_irq_disabled()
|
||||
// .extract_if(|closing_socket| closing_socket.is_closed())
|
||||
// .collect::<Vec<_>>();
|
||||
// drop(closed_sockets);
|
||||
// let closed_sockets = self
|
||||
// .closing_sockets
|
||||
// .lock_irq_disabled()
|
||||
// .extract_if(|closing_socket| closing_socket.is_closed())
|
||||
// .collect::<Vec<_>>();
|
||||
// drop(closed_sockets);
|
||||
// }
|
||||
}
|
||||
|
||||
|
@ -3,6 +3,7 @@ use core::sync::atomic::{AtomicU32, AtomicUsize};
|
||||
use crate::libs::rwlock::RwLock;
|
||||
use crate::net::socket::EPollEventType;
|
||||
use crate::net::socket::{self, inet::Types};
|
||||
use alloc::boxed::Box;
|
||||
use alloc::vec::Vec;
|
||||
use smoltcp;
|
||||
use system_error::SystemError::{self, *};
|
||||
@ -30,13 +31,13 @@ where
|
||||
|
||||
#[derive(Debug)]
|
||||
pub enum Init {
|
||||
Unbound(smoltcp::socket::tcp::Socket<'static>),
|
||||
Unbound(Box<smoltcp::socket::tcp::Socket<'static>>),
|
||||
Bound((socket::inet::BoundInner, smoltcp::wire::IpEndpoint)),
|
||||
}
|
||||
|
||||
impl Init {
|
||||
pub(super) fn new() -> Self {
|
||||
Init::Unbound(new_smoltcp_socket())
|
||||
Init::Unbound(Box::new(new_smoltcp_socket()))
|
||||
}
|
||||
|
||||
/// 传入一个已经绑定的socket
|
||||
@ -55,7 +56,7 @@ impl Init {
|
||||
) -> Result<Self, SystemError> {
|
||||
match self {
|
||||
Init::Unbound(socket) => {
|
||||
let bound = socket::inet::BoundInner::bind(socket, &local_endpoint.addr)?;
|
||||
let bound = socket::inet::BoundInner::bind(*socket, &local_endpoint.addr)?;
|
||||
bound
|
||||
.port_manager()
|
||||
.bind_port(Types::Tcp, local_endpoint.port)?;
|
||||
@ -73,7 +74,7 @@ impl Init {
|
||||
match self {
|
||||
Init::Unbound(socket) => {
|
||||
let (bound, address) =
|
||||
socket::inet::BoundInner::bind_ephemeral(socket, remote_endpoint.addr)
|
||||
socket::inet::BoundInner::bind_ephemeral(*socket, remote_endpoint.addr)
|
||||
.map_err(|err| (Self::new(), err))?;
|
||||
let bound_port = bound
|
||||
.port_manager()
|
||||
|
@ -185,15 +185,19 @@ impl TcpSocket {
|
||||
}
|
||||
|
||||
pub fn try_recv(&self, buf: &mut [u8]) -> Result<usize, SystemError> {
|
||||
self.inner.read().as_ref().map(|inner| {
|
||||
inner.iface().unwrap().poll();
|
||||
let result = match inner {
|
||||
Inner::Established(inner) => inner.recv_slice(buf),
|
||||
_ => Err(EINVAL),
|
||||
};
|
||||
inner.iface().unwrap().poll();
|
||||
result
|
||||
}).unwrap()
|
||||
self.inner
|
||||
.read()
|
||||
.as_ref()
|
||||
.map(|inner| {
|
||||
inner.iface().unwrap().poll();
|
||||
let result = match inner {
|
||||
Inner::Established(inner) => inner.recv_slice(buf),
|
||||
_ => Err(EINVAL),
|
||||
};
|
||||
inner.iface().unwrap().poll();
|
||||
result
|
||||
})
|
||||
.unwrap()
|
||||
}
|
||||
|
||||
pub fn try_send(&self, buf: &[u8]) -> Result<usize, SystemError> {
|
||||
@ -238,7 +242,7 @@ impl Socket for TcpSocket {
|
||||
fn get_name(&self) -> Result<Endpoint, SystemError> {
|
||||
match self.inner.read().as_ref().expect("Tcp Inner is None") {
|
||||
Inner::Init(Init::Unbound(_)) => Ok(Endpoint::Ip(UNSPECIFIED_LOCAL_ENDPOINT)),
|
||||
Inner::Init(Init::Bound((_, local))) => Ok(Endpoint::Ip(local.clone())),
|
||||
Inner::Init(Init::Bound((_, local))) => Ok(Endpoint::Ip(*local)),
|
||||
Inner::Connecting(connecting) => Ok(Endpoint::Ip(connecting.get_name())),
|
||||
Inner::Established(established) => Ok(Endpoint::Ip(established.local_endpoint())),
|
||||
Inner::Listening(listening) => Ok(Endpoint::Ip(listening.get_name())),
|
||||
|
@ -62,11 +62,7 @@ pub(super) struct Listener {
|
||||
impl Listener {
|
||||
pub(super) fn new(inode: Endpoint, backlog: usize) -> Self {
|
||||
log::debug!("backlog {}", backlog);
|
||||
let back = if backlog > 1024 {
|
||||
1024 as usize
|
||||
} else {
|
||||
backlog
|
||||
};
|
||||
let back = if backlog > 1024 { 1024_usize } else { backlog };
|
||||
return Self {
|
||||
inode,
|
||||
backlog: AtomicUsize::new(back),
|
||||
@ -82,7 +78,7 @@ impl Listener {
|
||||
log::debug!(" incom len {}", incoming_conns.len());
|
||||
let conn = incoming_conns
|
||||
.pop_front()
|
||||
.ok_or_else(|| SystemError::EAGAIN_OR_EWOULDBLOCK)?;
|
||||
.ok_or(SystemError::EAGAIN_OR_EWOULDBLOCK)?;
|
||||
let socket =
|
||||
Arc::downcast::<SeqpacketSocket>(conn.inner()).map_err(|_| SystemError::EINVAL)?;
|
||||
let peer = match &*socket.inner.read() {
|
||||
@ -190,7 +186,7 @@ impl Connected {
|
||||
if self.can_send()? {
|
||||
return self.send_slice(buf);
|
||||
} else {
|
||||
log::debug!("can not send {:?}", String::from_utf8_lossy(&buf[..]));
|
||||
log::debug!("can not send {:?}", String::from_utf8_lossy(buf));
|
||||
return Err(SystemError::ENOBUFS);
|
||||
}
|
||||
}
|
||||
|
@ -230,11 +230,7 @@ impl Socket for SeqpacketSocket {
|
||||
if !self.is_nonblocking() {
|
||||
loop {
|
||||
wq_wait_event_interruptible!(self.wait_queue, self.is_acceptable(), {})?;
|
||||
match self
|
||||
.try_accept()
|
||||
.map(|(seqpacket_socket, remote_endpoint)| {
|
||||
(seqpacket_socket, Endpoint::from(remote_endpoint))
|
||||
}) {
|
||||
match self.try_accept() {
|
||||
Ok((socket, epoint)) => return Ok((socket, epoint)),
|
||||
Err(_) => continue,
|
||||
}
|
||||
@ -274,7 +270,7 @@ impl Socket for SeqpacketSocket {
|
||||
};
|
||||
|
||||
if let Some(endpoint) = endpoint {
|
||||
return Ok(Endpoint::from(endpoint));
|
||||
return Ok(endpoint);
|
||||
} else {
|
||||
return Err(SystemError::EAGAIN_OR_EWOULDBLOCK);
|
||||
}
|
||||
@ -289,7 +285,7 @@ impl Socket for SeqpacketSocket {
|
||||
};
|
||||
|
||||
if let Some(endpoint) = endpoint {
|
||||
return Ok(Endpoint::from(endpoint));
|
||||
return Ok(endpoint);
|
||||
} else {
|
||||
return Err(SystemError::EAGAIN_OR_EWOULDBLOCK);
|
||||
}
|
||||
|
@ -231,10 +231,7 @@ impl Socket for StreamSocket {
|
||||
//目前只实现了阻塞式实现
|
||||
loop {
|
||||
wq_wait_event_interruptible!(self.wait_queue, self.is_acceptable(), {})?;
|
||||
match self
|
||||
.try_accept()
|
||||
.map(|(stream_socket, remote_endpoint)| (stream_socket, remote_endpoint))
|
||||
{
|
||||
match self.try_accept() {
|
||||
Ok((socket, endpoint)) => {
|
||||
debug!("server accept!:{:?}", endpoint);
|
||||
return Ok((socket, endpoint));
|
||||
|
@ -312,7 +312,7 @@ impl From<Endpoint> for SockAddr {
|
||||
}
|
||||
let addr_un = SockAddrUn {
|
||||
sun_family: AddressFamily::Unix as u16,
|
||||
sun_path: sun_path,
|
||||
sun_path,
|
||||
};
|
||||
return SockAddr { addr_un };
|
||||
}
|
||||
|
Reference in New Issue
Block a user