think
This commit is contained in:
parent
72789984ce
commit
ff2604ca5d
1 changed files with 54 additions and 0 deletions
54
THOUGHTS.txt
54
THOUGHTS.txt
|
@ -4676,3 +4676,57 @@ needs to filter, but the client will anyway have to do some message
|
|||
parsing so they can distinguish add from remove
|
||||
|
||||
* where do we start?
|
||||
|
||||
Sun Apr 21 13:31:48 BST 2024
|
||||
|
||||
We have the mechanics of it working (albeit implemented in the
|
||||
simplest possible terms), we need to glue it to some I/O
|
||||
|
||||
1) open a netlink socket and read the events from it
|
||||
|
||||
2) "create a PF_UNIX socket of type SOCK_STREAM, and accept connections on it, then each time you accept a connection, you get a new fd"
|
||||
|
||||
- accept connection
|
||||
- read terms from it
|
||||
- register callback that writes event to connected socket
|
||||
|
||||
minisock has no support for "test if fd is ready" or "wait for [fds]
|
||||
to become ready", either we need poll() or we could add a call for "is
|
||||
this fd ready to read" and use coroutines. Fork minisock or add as
|
||||
another library?
|
||||
|
||||
[ if we fork minisock we could expose the protocol param to Lua
|
||||
so we could use it for netlink ]
|
||||
|
||||
Tue Apr 23 19:13:45 BST 2024
|
||||
|
||||
we could convert from minisock to lualinux. if we can also use that to
|
||||
get rid of nellie and/or lfs, the size tradeoff is minimal
|
||||
|
||||
---
|
||||
|
||||
Is there some way we could test the devout event loop?
|
||||
|
||||
I can register a fd with a callback
|
||||
when the fd is ready, my callback is called
|
||||
when the callback return true it remains registered
|
||||
when the callback return true it is unregistered and the fd is closed
|
||||
|
||||
loop.register
|
||||
loop.registered?
|
||||
loop.feed
|
||||
|
||||
Tue Apr 23 20:34:03 BST 2024
|
||||
|
||||
I think we could make the event loop abstraction leak less?
|
||||
It's not actually a _loop_, all the actual GOTO 10 happens
|
||||
outside of it
|
||||
|
||||
1) see if we can do netlink in lualinux
|
||||
2) if so, convert it to lualinux
|
||||
3) add netlink socket to event loop
|
||||
4) make it send messages to subscribers
|
||||
5) package it
|
||||
6) make inout test use it instead of uevent-watcher
|
||||
7) write an inout test variant that has the stick inserted
|
||||
at boot time already
|
||||
|
|
Loading…
Reference in a new issue