mirror of
https://github.com/asterinas/asterinas.git
synced 2025-06-27 19:33:23 +00:00
Refactor the implementation
This commit is contained in:
committed by
Tate, Hongliang Tian
parent
50761a5cc5
commit
0d6f6f001c
@ -1,7 +1,6 @@
|
||||
use crate::{
|
||||
fs::utils::{IoEvents, Pollee, Poller},
|
||||
prelude::*,
|
||||
};
|
||||
use crate::events::IoEvents;
|
||||
use crate::prelude::*;
|
||||
use crate::process::signal::{Pollee, Poller};
|
||||
|
||||
use super::Iface;
|
||||
use super::{IpAddress, IpEndpoint};
|
||||
|
@ -1,13 +1,12 @@
|
||||
use core::sync::atomic::{AtomicBool, Ordering};
|
||||
|
||||
use crate::events::IoEvents;
|
||||
use crate::fs::utils::StatusFlags;
|
||||
use crate::net::iface::IpEndpoint;
|
||||
|
||||
use crate::process::signal::Poller;
|
||||
use crate::{
|
||||
fs::{
|
||||
file_handle::FileLike,
|
||||
utils::{IoEvents, Poller},
|
||||
},
|
||||
fs::file_handle::FileLike,
|
||||
net::{
|
||||
iface::{AnyBoundSocket, AnyUnboundSocket, RawUdpSocket},
|
||||
poll_ifaces,
|
||||
@ -259,7 +258,7 @@ impl Socket for DatagramSocket {
|
||||
return_errno_with_message!(Errno::EAGAIN, "try to receive again");
|
||||
}
|
||||
// FIXME: deal with recvfrom timeout
|
||||
poller.wait_interruptible(None)?;
|
||||
poller.wait()?;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,9 @@
|
||||
use core::sync::atomic::{AtomicBool, Ordering};
|
||||
|
||||
use crate::events::IoEvents;
|
||||
use crate::net::iface::IpEndpoint;
|
||||
use crate::process::signal::Poller;
|
||||
use crate::{
|
||||
fs::utils::{IoEvents, Poller},
|
||||
net::{
|
||||
iface::{AnyBoundSocket, RawTcpSocket},
|
||||
poll_ifaces,
|
||||
@ -58,7 +59,7 @@ impl ConnectedStream {
|
||||
return_errno_with_message!(Errno::EAGAIN, "try to recv again");
|
||||
}
|
||||
// FIXME: deal with receive timeout
|
||||
poller.wait_interruptible(None)?;
|
||||
poller.wait()?;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
use core::sync::atomic::{AtomicBool, Ordering};
|
||||
|
||||
use crate::fs::utils::{IoEvents, Poller};
|
||||
use crate::events::IoEvents;
|
||||
use crate::net::iface::Iface;
|
||||
use crate::net::iface::IpEndpoint;
|
||||
use crate::net::iface::{AnyBoundSocket, AnyUnboundSocket};
|
||||
@ -8,6 +8,7 @@ use crate::net::poll_ifaces;
|
||||
use crate::net::socket::ip::always_some::AlwaysSome;
|
||||
use crate::net::socket::ip::common::{bind_socket, get_ephemeral_endpoint};
|
||||
use crate::prelude::*;
|
||||
use crate::process::signal::Poller;
|
||||
|
||||
pub struct InitStream {
|
||||
inner: RwLock<Inner>,
|
||||
@ -152,7 +153,7 @@ impl InitStream {
|
||||
return_errno_with_message!(Errno::EAGAIN, "try connect again");
|
||||
} else {
|
||||
// FIXME: deal with connecting timeout
|
||||
poller.wait_interruptible(None)?;
|
||||
poller.wait()?;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,9 +1,10 @@
|
||||
use core::sync::atomic::{AtomicBool, Ordering};
|
||||
|
||||
use crate::events::IoEvents;
|
||||
use crate::net::iface::{AnyUnboundSocket, BindPortConfig, IpEndpoint};
|
||||
|
||||
use crate::fs::utils::{IoEvents, Poller};
|
||||
use crate::net::iface::{AnyBoundSocket, RawTcpSocket};
|
||||
use crate::process::signal::Poller;
|
||||
use crate::{net::poll_ifaces, prelude::*};
|
||||
|
||||
use super::connected::ConnectedStream;
|
||||
@ -46,7 +47,7 @@ impl ListenStream {
|
||||
return_errno_with_message!(Errno::EAGAIN, "try accept again");
|
||||
}
|
||||
// FIXME: deal with accept timeout
|
||||
poller.wait_interruptible(None)?;
|
||||
poller.wait()?;
|
||||
}
|
||||
continue;
|
||||
};
|
||||
|
@ -1,7 +1,5 @@
|
||||
use crate::fs::{
|
||||
file_handle::FileLike,
|
||||
utils::{IoEvents, Poller, StatusFlags},
|
||||
};
|
||||
use crate::events::IoEvents;
|
||||
use crate::fs::{file_handle::FileLike, utils::StatusFlags};
|
||||
use crate::net::socket::{
|
||||
util::{
|
||||
send_recv_flags::SendRecvFlags, shutdown_cmd::SockShutdownCmd,
|
||||
@ -10,6 +8,7 @@ use crate::net::socket::{
|
||||
Socket,
|
||||
};
|
||||
use crate::prelude::*;
|
||||
use crate::process::signal::Poller;
|
||||
|
||||
use self::{connected::ConnectedStream, init::InitStream, listen::ListenStream};
|
||||
|
||||
|
@ -1,7 +1,8 @@
|
||||
use super::endpoint::Endpoint;
|
||||
use crate::fs::utils::{IoEvents, Poller};
|
||||
use crate::events::IoEvents;
|
||||
use crate::net::socket::{unix::addr::UnixSocketAddrBound, SockShutdownCmd};
|
||||
use crate::prelude::*;
|
||||
use crate::process::signal::Poller;
|
||||
|
||||
pub(super) struct Connected {
|
||||
local_endpoint: Arc<Endpoint>,
|
||||
|
@ -1,5 +1,7 @@
|
||||
use crate::events::IoEvents;
|
||||
use crate::process::signal::Poller;
|
||||
use crate::{
|
||||
fs::utils::{Channel, Consumer, IoEvents, Poller, Producer, StatusFlags},
|
||||
fs::utils::{Channel, Consumer, Producer, StatusFlags},
|
||||
net::socket::{unix::addr::UnixSocketAddrBound, SockShutdownCmd},
|
||||
prelude::*,
|
||||
};
|
||||
|
@ -1,9 +1,11 @@
|
||||
use core::sync::atomic::{AtomicBool, Ordering};
|
||||
|
||||
use crate::events::IoEvents;
|
||||
use crate::fs::fs_resolver::{split_path, FsPath};
|
||||
use crate::fs::utils::{Dentry, InodeMode, InodeType, IoEvents, Pollee, Poller};
|
||||
use crate::fs::utils::{Dentry, InodeMode, InodeType};
|
||||
use crate::net::socket::unix::addr::{UnixSocketAddr, UnixSocketAddrBound};
|
||||
use crate::prelude::*;
|
||||
use crate::process::signal::{Pollee, Poller};
|
||||
|
||||
use super::connected::Connected;
|
||||
use super::endpoint::Endpoint;
|
||||
|
@ -1,9 +1,11 @@
|
||||
use super::{connected::Connected, endpoint::Endpoint, UnixStreamSocket};
|
||||
use crate::events::IoEvents;
|
||||
use crate::fs::file_handle::FileLike;
|
||||
use crate::fs::utils::{Dentry, Inode, IoEvents, Pollee, Poller};
|
||||
use crate::fs::utils::{Dentry, Inode};
|
||||
use crate::net::socket::unix::addr::{UnixSocketAddr, UnixSocketAddrBound};
|
||||
use crate::net::socket::SocketAddr;
|
||||
use crate::prelude::*;
|
||||
use crate::process::signal::{Pollee, Poller};
|
||||
use core::sync::atomic::{AtomicBool, Ordering};
|
||||
use keyable_arc::KeyableWeak;
|
||||
|
||||
@ -133,7 +135,7 @@ impl BacklogTable {
|
||||
|
||||
// FIXME: deal with accept timeout
|
||||
if events.is_empty() {
|
||||
poller.wait_interruptible(None)?;
|
||||
poller.wait()?;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,12 +1,14 @@
|
||||
use crate::events::IoEvents;
|
||||
use crate::fs::file_handle::FileLike;
|
||||
use crate::fs::fs_resolver::FsPath;
|
||||
use crate::fs::utils::{Dentry, InodeType, IoEvents, Poller, StatusFlags};
|
||||
use crate::fs::utils::{Dentry, InodeType, StatusFlags};
|
||||
use crate::net::socket::unix::addr::UnixSocketAddrBound;
|
||||
use crate::net::socket::unix::UnixSocketAddr;
|
||||
use crate::net::socket::util::send_recv_flags::SendRecvFlags;
|
||||
use crate::net::socket::util::sockaddr::SocketAddr;
|
||||
use crate::net::socket::{SockShutdownCmd, Socket};
|
||||
use crate::prelude::*;
|
||||
use crate::process::signal::Poller;
|
||||
|
||||
use super::connected::Connected;
|
||||
use super::endpoint::Endpoint;
|
||||
|
Reference in New Issue
Block a user