/DragonOS/kernel/src/net/socket/ |
H A D | inet.rs | 4 socket::{raw, tcp, udp}, 62 let socket = raw::Socket::new( in new() localVariable 70 let handle = GlobalSocketHandle::new_smoltcp_handle(SOCKET_SET.lock_irqsave().add(socket)); in new() 98 if let smoltcp::socket::Socket::Udp(mut sock) = in close() 112 let socket = in read() localVariable 115 match socket.recv_slice(buf) { in read() 142 let socket = in write() localVariable 144 match socket.send_slice(buf) { in write() 157 let socket: &mut raw::Socket = in write() localVariable 187 packet.set_next_header(socket.ip_protocol()); in write() [all …]
|
H A D | mod.rs | 14 socket::{self, raw, tcp, udp}, 69 let socket: Box<dyn Socket> = match address_family { in new_socket() localVariable 90 let handle_item = SocketHandleItem::new(Arc::downgrade(&socket.posix_item())); in new_socket() 93 .insert(socket.socket_handle(), handle_item); in new_socket() 94 Ok(socket) in new_socket() 288 pub fn new(socket: Box<dyn Socket>) -> Arc<Self> { in new() 289 Arc::new(Self(SpinLock::new(socket), AtomicUsize::new(0))) in new() 305 let mut socket = self.0.lock_irqsave(); in do_close() localVariable 307 if socket.metadata().socket_type == SocketType::Unix { in do_close() 311 if let Some(Endpoint::Ip(Some(ip))) = socket.endpoint() { in do_close() [all …]
|
/DragonOS/kernel/src/net/ |
H A D | syscall.rs | 16 net::socket::{AddressFamily, SOL_SOCKET}, 22 socket::{new_socket, PosixSocketType, Socket, SocketInode}, 36 pub fn socket( in socket() method 45 let socket = new_socket(address_family, socket_type, protocol)?; in socket() localVariable 47 let socketinode: Arc<SocketInode> = SocketInode::new(socket); in socket() 115 let socket: SpinLockGuard<Box<dyn Socket>> = socket_inode.inner(); in setsockopt() localVariable 116 return socket.setsockopt(level, optname, optval).map(|_| 0); in setsockopt() 140 let socket = binding.inner(); in getsockopt() localVariable 149 *optval = socket.metadata().tx_buf_size as u32; in getsockopt() 157 *optval = socket.metadata().rx_buf_size as u32; in getsockopt() [all …]
|
H A D | net_core.rs | 3 use smoltcp::{socket::dhcpv4, wire}; 9 net::{socket::SocketPollMethod, NET_DEVICES}, 15 socket::{handle::GlobalSocketHandle, inet::TcpSocket, HANDLE_MAP, SOCKET_SET}, 197 let item: Option<&super::socket::SocketHandleItem> = handle_guard.get(&global_handle); in send_event() 214 smoltcp::socket::Socket::Raw(_) | smoltcp::socket::Socket::Udp(_) => { in send_event() 217 smoltcp::socket::Socket::Icmp(_) => unimplemented!("Icmp socket hasn't unimplemented"), in send_event() 218 smoltcp::socket::Socket::Tcp(inner_socket) => { in send_event() 222 if inner_socket.state() == smoltcp::socket::tcp::State::Established { in send_event() 225 if inner_socket.state() == smoltcp::socket::tcp::State::CloseWait { in send_event() 231 smoltcp::socket::Socket::Dhcpv4(_) => {} in send_event() [all …]
|
H A D | mod.rs | 11 use self::socket::SocketInode; 15 pub mod socket; module
|
/DragonOS/user/apps/test_lo/src/ |
H A D | main.rs | 5 let socket = UdpSocket::bind("127.0.0.1:34254")?; in main() localVariable 6 socket.connect("127.0.0.1:34254")?; in main() 9 socket.send(msg.as_bytes())?; in main() 12 let (amt, _src) = socket.recv_from(&mut buf)?; in main()
|
/DragonOS/user/apps/test_bind/ |
H A D | main.c | 25 if ((tcp_sk_fd1 = socket(AF_INET, SOCK_STREAM, 0)) == 0) in test_tcp_bind() 30 if ((tcp_sk_fd2 = socket(AF_INET, SOCK_STREAM, 0)) == 0) in test_tcp_bind() 35 if ((tcp_sk_fd3 = socket(AF_INET, SOCK_STREAM, 0)) == 0) in test_tcp_bind() 87 if ((udp_sk_fd1 = socket(AF_INET, SOCK_DGRAM, 0)) == 0) in test_udp_bind() 92 if ((udp_sk_fd2 = socket(AF_INET, SOCK_DGRAM, 0)) == 0) in test_udp_bind() 97 if ((udp_sk_fd3 = socket(AF_INET, SOCK_DGRAM, 0)) == 0) in test_udp_bind() 149 if ((tcp_fd = socket(AF_INET, SOCK_STREAM, 0)) == 0) in test_all_ports() 175 if ((server_fd = socket(AF_INET, SOCK_STREAM, 0)) == 0) in main() 181 if ((udp_sk_fd = socket(AF_INET, SOCK_DGRAM, 0)) == 0) in main()
|
/DragonOS/kernel/ |
H A D | Cargo.toml | 50 …alse, features = ["log", "alloc", "socket-raw", "socket-udp", "socket-tcp", "socket-icmp", "socke…
|
/DragonOS/user/dadk/config/ |
H A D | test_socket-0.1.0.dadk | 4 "description": "测试socket",
|
/DragonOS/docs/community/ChangeLog/V0.1.x/ |
H A D | V0.1.7.md | 198 新增网络socket的系统调用接口 (#247) 202 3.完善tcp,udp,raw socket 271 增加对dhcpv4的支持(tcp、udp socket已写好,但由于缺少epoll机制,尚未完整测试) (#237) 275 * raw socket 277 * 初步写完udp和tcp socket
|
H A D | V0.1.10.md | 72 - fix(fs): socket统一改用`GlobalSocketHandle`,并且修复fcntl SETFD的错误 (#730) 80 - feat(net): 实现raw socket的poll (#739) 200 …UdpSocket实现close时调用close方法,符合smoltcp的行为。为SocketInode实现drop,保证程序任何情况下退出时都能正确close对应socket, 释放被占用的端口。 202 * fix(net): Correct socket close behavior. 400 feat(net): 实现raw socket的poll (#739) 402 feat(net): 实现raw socket的poll 465 socket统一改用`GlobalSocketHandle`,并且修复fcntl SETFD的错误 (#730) 467 * socket统一改用`GlobalSocketHandle`,并且修复fcntl SETFD的错误
|
H A D | V0.1.8.md | 311 * 实现socket关闭时,端口在表中移除
|
H A D | V0.1.9.md | 803 - 添加事件等待队列,提升socket性能 1247 2.修复socket inode 的read和write方法里面没有使用no_preempt的问题
|
/DragonOS/kernel/src/filesystem/vfs/ |
H A D | file.rs | 26 socket::SocketInode, 573 let mut socket = inode.inner(); in add_epoll() localVariable 575 return socket.add_epoll(epitem); in add_epoll() 597 let mut socket = inode.inner(); in remove_epoll() localVariable 599 socket.remove_epoll(epoll) in remove_epoll()
|
/DragonOS/user/apps/http_server/ |
H A D | main.c | 183 if ((server_fd = socket(AF_INET, SOCK_STREAM, 0)) == 0) in main()
|
/DragonOS/kernel/src/process/ |
H A D | mod.rs | 53 net::socket::SocketInode, 916 let socket: Arc<SocketInode> = f in get_socket() localVariable 920 return Some(socket); in get_socket()
|
/DragonOS/kernel/src/syscall/ |
H A D | mod.rs | 409 SYS_SOCKET => Self::socket(args[0], args[1], args[2]), in handle()
|