summaryrefslogtreecommitdiff
path: root/Kernel/Net
AgeCommit message (Collapse)Author
2019-04-08Kernel: Support non-blocking connect().Andreas Kling
If connect() is called on a non-blocking socket, it will "fail" immediately with -EINPROGRESS. After that, you select() on the socket and wait for it to become writable.
2019-04-06Kernel: Move FIFO into FileSystem/ and Socket+LocalSocket into Net/.Andreas Kling
2019-04-05NetworkTask: Add a combined alarm for the all network adapters.Andreas Kling
This way we can go back to snoozing in the receiver task and stop chewing up the CPU. :^)
2019-04-05AK: Revert Eternal<T> for now since it doesn't work as intended.Andreas Kling
2019-04-03AK: Add Eternal<T> and use it in various places.Andreas Kling
This is useful for static locals that never need to be destroyed: Thing& Thing::the() { static Eternal<Thing> the; return the; } The object will be allocated in data segment memory and will never have its destructor invoked.
2019-04-03Kernel: Move VM-related files into Kernel/VM/.Andreas Kling
Also break MemoryManager.{cpp,h} into one file per class.
2019-04-03Kernel: Move devices into Kernel/Devices/.Andreas Kling
2019-04-03Kernel: Make LoopbackAdapter eternally allocated.Andreas Kling
2019-04-02Move NetworkOrdered.h to AK/ since it's used in both kernel and userspace.Andreas Kling
2019-04-02Kernel: Move networking related files into Kernel/Net/.Andreas Kling
2019-04-02Kernel: Add a LoopbackAdapter for talking to yourself via 127.0.0.1.Andreas Kling
Choosing adapter for transmit is done by adapter_for_route_to(IPv4Address). This is just hard-coded logic right now but can be expanded to support a proper routing table. Also start moving kernel networking code into Kernel/Net/.