diff options
author | Benji Dial <benji@benjidial.net> | 2024-05-20 17:40:47 -0400 |
---|---|---|
committer | Benji Dial <benji@benjidial.net> | 2024-05-20 17:40:47 -0400 |
commit | 9af5588c30c4126a2800aae1afcb0de2c373dc6c (patch) | |
tree | d2a48a97b1664f958b5f88a8b0c03ef8366b0f49 /documentation/kernel-interface/sockets.txt | |
parent | 5a54df93c4e9368c36e69d1e9c88cd2904e92308 (diff) | |
download | hilbert-os-9af5588c30c4126a2800aae1afcb0de2c373dc6c.tar.gz |
rewrite application stuff in the kernel to support multitasking
Diffstat (limited to 'documentation/kernel-interface/sockets.txt')
-rw-r--r-- | documentation/kernel-interface/sockets.txt | 28 |
1 files changed, 0 insertions, 28 deletions
diff --git a/documentation/kernel-interface/sockets.txt b/documentation/kernel-interface/sockets.txt deleted file mode 100644 index 73dade6..0000000 --- a/documentation/kernel-interface/sockets.txt +++ /dev/null @@ -1,28 +0,0 @@ -in hilbert os, a "socket" is a two-way byte-wise communication construct. each -socket has two ends, which can be either open or closed. each process has a -number of handles to sockets. sockets can be created in one of two ways: either -creating a private socket or connecting to a socket listener. - -private sockets: - a private socket is created with the "create private socket" system call. the - process creating the socket gets both ends of the socket. - -socket listeners: - a socket listener is created with the "create socket listener" system call. - an id string is passed to that system call and remains associated with the - listener throughout its lifetime. only one socket listener may have a given - id at once. while a socket listener exists, the owner of the listener can - call the "accept socket connection" system call, and any process can call the - "connect to socket" system call with that id passed. each of these system - calls blocks until the other occurs, at which point a socket is created with - the two process as its endpoints, and then both system calls return. the - listener remains alive after the socket is created, and can be used to create - more sockets until stopped with the "stop socket listener" system call. - -when a process is created, an end of a socket can be "gifted" to that process. -when that happens, the end remains open, and is now accessible by the giftee -and not by the gifter. - -when either end of a socket is closed, the other end of the socket remains -valid, and can be read from until empty. when both ends of a socket are closed, -the socket disappears. |