Commit Graph

57 Commits

Author SHA1 Message Date
jiangjianfeng 72cb160539 Add keepidle tcp option 2024-12-18 13:19:34 +08:00
Ruihan Li 776fd6a892 Create backlog sockets on demand 2024-12-17 20:14:53 +08:00
jiangjianfeng 58cf8ea681 Set keepalive and tcp_nodelay on underlying sockets 2024-12-15 16:50:43 +08:00
Ruihan Li 53b873f647 Add `get_mut` methods for locks 2024-12-15 16:36:54 +08:00
Ruihan Li 8bbbde4ccb Use `Ordering::Relaxed` for `is_nonblocking` 2024-12-12 20:50:12 +08:00
Ruihan Li 1207161afe Protect socket states with `PreemptDisabled` 2024-12-12 20:50:12 +08:00
Ruihan Li 1716f4f324 Use `Pollee` as the socket observer 2024-12-12 20:50:12 +08:00
Ruihan Li fa76afb3a9 Make `Ext` a trait 2024-12-12 20:50:12 +08:00
Marsman1996 2ec907875c Replace `debug_assert` with `warn` for `SendRecvFlags` 2024-12-11 16:53:03 +08:00
Ruihan Li 36fc1d3757 Move FS things to `PosixThread` 2024-12-05 13:44:09 +08:00
徐启航 878f3f3760 Scheduling class support 2024-12-04 09:36:41 +08:00
Ruihan Li a260411a2a Implement `WriteIrqDisabled` 2024-12-03 12:07:24 +08:00
jiangjianfeng 495c93c2ad Refactor Rwlock to take type parameter 2024-11-21 15:46:10 +08:00
Ruihan Li ec2c6ab7a3 Make `Pollee` semi-stateless 2024-11-20 16:39:18 +08:00
Ruihan Li 1c1da8ea06 Don't poll ifaces if not necessary 2024-11-20 16:39:18 +08:00
Ruihan Li fab61f5f66 Make `Pollee` stateless 2024-11-20 16:39:18 +08:00
Ruihan Li 197d53c0ab Accept sockets in the ESTABLISHED state 2024-11-16 13:25:19 +08:00
Ruihan Li a4a8807a20 Remove `KernelThreadExt` 2024-11-13 21:44:37 +08:00
Ruihan Li ac71234b89 Remove `{,un}register_observer` 2024-11-13 14:15:44 +08:00
Ruihan Li e32fb2f91b Introduce `PollAdaptor` and `Poller` 2024-11-13 14:15:44 +08:00
Ruihan Li f12e502ab0 Rename `Poller` to `PollHandle` 2024-11-13 14:15:44 +08:00
Ruihan Li 9707b46c7f Bump smoltcp version 2024-11-08 10:49:02 +08:00
Ruihan Li 7ddfd42baa Make `wait_events` support timeout 2024-11-01 13:00:40 +08:00
Shaowei Song 96a153dfc5 Implement dummy `metadata()` for epoll and socket files 2024-10-30 14:09:02 +08:00
Jianfeng Jiang dc06d7c37d Support TCP sockets HUP&RDHUP events 2024-10-28 22:47:50 +08:00
jiangjianfeng 090149eed7 Add tcp latency test over virtio-net 2024-10-14 20:59:25 +08:00
Zhang Junyang 9e4257b655 Fix multiple issues pointed out by the new compiler 2024-10-13 22:32:05 +08:00
Shaowei Song ea489252f4 Refactor `Dentry` to optimize the vfs layer 2024-10-11 11:22:52 +08:00
Ruihan Li 0415225c19 Fix IRQ-related socket locks 2024-10-10 20:36:22 +08:00
Ruihan Li 7e21e1e653 Revise socket option handling 2024-10-10 20:36:22 +08:00
Ruihan Li ee1656ba35 Move packet dispatch out of smoltcp 2024-09-30 16:00:51 +08:00
jiangjianfeng f793259512 Avoiding busy loop in sending packet and optimize device caps 2024-09-30 15:03:58 +08:00
YanWQ-monad 839c2a6689 Extract shared code from timer 2024-09-30 10:02:08 +08:00
jellllly420 8927031426 Remove priority field from OSTD Task struct 2024-09-27 10:21:45 +08:00
Ruihan Li d62bb1ca76 Use static IP addresses 2024-09-26 15:22:16 +08:00
jellllly420 21fedd1b60 Implement atomic wrapper for integer-like type 2024-09-25 14:47:37 +08:00
Ruihan Li 1aa8b0abc6 Correct lock usages in UNIX sockets 2024-09-24 20:49:48 +08:00
Jianfeng Jiang 985813c7f9 Use IoVec-based reader/writer to refactor network APIs 2024-09-20 10:37:20 +08:00
Chen Chengjun 42e28763c5 Replace the Pausers' usage with Waiter/WaitQueue 2024-09-14 13:59:07 +08:00
Chen Chengjun 1873bb7a3f Add wait_until_* functionality to Waiter 2024-09-14 13:59:07 +08:00
Ruihan Li 320092eda2 Implement blocking `connect` properly 2024-09-13 22:09:46 +08:00
Ruihan Li 6f915133b5 Fix error codes in `bind` 2024-09-13 22:09:46 +08:00
Ruihan Li a345e11b96 Fix error codes in `send`, `recv`, `accept` 2024-09-13 22:09:46 +08:00
Ruihan Li a8592a16ea Fix I/O events related to shutdown 2024-09-13 22:09:46 +08:00
Ruihan Li 421f6b8e5b Fix I/O events cross different states 2024-09-13 22:09:46 +08:00
Ruihan Li f831f5685f Fix I/O events for UNIX connected sockets 2024-09-13 22:09:46 +08:00
Ruihan Li 1b9b76d27c Make use of new `SpinLock` APIs 2024-09-13 21:31:20 +08:00
Ruihan Li 67d3682116 Move smoltcp-related code to bigtcp 2024-09-13 21:31:20 +08:00
Ruihan Li 9fba9445bd Introduce `IpIface` and `EtherIface` 2024-09-13 21:31:20 +08:00
Ruihan Li dd2cde3aee Introduce `IfaceExt` 2024-09-13 21:31:20 +08:00