Commit Graph

51 Commits (0b93c90aa921c973db17ea3a2c7e029624b13d1c)

Author SHA1 Message Date
noah metz c591fa5ace Got node resolution working(I think), and save/load from DB 2024-03-10 15:41:13 -06:00
noah metz 6942dc02db Major cleanup 2024-03-04 17:30:42 -07:00
noah metz faab7eb52c Cleanup(disabled gql test temporarily) 2024-03-03 15:45:45 -07:00
noah metz 857f04efe3 Ch-ch-ch-ch-changes 2023-08-31 22:31:29 -06:00
noah metz 4daec4d601 Cleanup and move away from capnp to custom TLV serialization 2023-08-31 19:50:32 -06:00
noah metz e26ddcae37 Moved listener to listener.go and user.go to group.go. Fixed some GQL resolving 2023-08-11 13:01:32 -06:00
noah metz 8770d6f433 Moved policies to node instead of an extension, need to fix gql tests 2023-08-07 20:26:02 -06:00
noah metz 147f44e5ff hehe 2023-08-01 20:55:15 -06:00
noah metz f87571edcf Moved test 'WaitForX' functions to a generic function in signal.go that can be used to wait for arbitrary signals 2023-07-28 19:32:27 -06:00
noah metz 5fb1cb6d17 Changed node ids to be derived from signing keys 2023-07-28 15:07:38 -06:00
noah metz b92cebbe74 Added message buffer size to node header and NewNode 2023-07-28 13:45:14 -06:00
noah metz 08288f88af Added basic test for read result with ACL 2023-07-28 11:59:01 -06:00
noah metz fc69bc3d0d Added read signal, and modified policies to use non-pointer receivers 2023-07-28 11:21:18 -06:00
noah metz b3de3144cc Reworked actions to be lists of parts, and added wildcards for both multi-level and single-level 2023-07-28 10:04:31 -06:00
noah metz 27687add1b Changed acl from using SignalType to Action, and added Permission() method to Signal interface that returns the Action the signal is trying to take 2023-07-28 00:39:27 -06:00
noah metz a44b00bc97 Made it easier to make a lockable extension 2023-07-27 18:37:06 -06:00
noah metz 200e19eea7 Added signalling to lockable test 2023-07-27 18:16:37 -06:00
noah metz 98893de442 Added naive locking sequence with short test 2023-07-27 18:08:43 -06:00
noah metz 78c29d2f74 Changed context to dynamically load nodes as they're signalled 2023-07-27 16:48:39 -06:00
noah metz 3ad969a5ca Switched from thread being the callback engine to node being the callback engine 2023-07-27 15:27:14 -06:00
noah metz c34d717b52 Cleaned up initialization 2023-07-27 11:33:11 -06:00
noah metz 70baca9e9c Added some policies back, and changed the policy check to pass errors instead of booleans 2023-07-27 09:32:33 -06:00
noah metz 186123ce01 Added SimpleListenerNode to test suite 2023-07-27 00:30:24 -06:00
noah metz d2f3daf5a6 Changed NewNode to return a pointer and add the node to the context 2023-07-26 15:08:14 -06:00
noah metz ff813d6c2b Moved from inheritance to extensions 2023-07-25 21:43:15 -06:00
noah metz dfa420757b Moved status signals to StatusSignal type with status string as type, so they can be ACLd 2023-07-23 21:14:15 -06:00
noah metz 8fb0cbc982 Reworked use/update to require a read/write context be initialized before starting, still need to figure out if brittle locking is the solution to potential deadlock, and implement if so 2023-07-23 17:57:47 -06:00
noah metz e347a3f232 start maniacal rewrite, main goal is to combine node and lockable to remove any sync mutex deadlocks. Another goal is to make read contexts get copies of the state to ensure they don't modify and no lock is required to ensure no value changes, and write contexts use the lockable locks instead of mutex 2023-07-22 20:21:17 -06:00
noah metz 4dc42a813e GQLUser improvement 2023-07-20 00:24:22 -06:00
noah metz 374fd6e487 Changed NodeID from string to UUID, filled in more auth 2023-07-19 20:03:13 -06:00
noah metz e12d02eb3f Cleaned up GQL context 2023-07-10 21:15:01 -06:00
noah metz 5c416a4a3f We do a little refactoring, hehe 2023-07-09 14:30:30 -06:00
noah metz 34f8a9f009 Fixed typo in thread loading that resulted in the parent being loaded as an owner instead 2023-07-03 13:14:48 -06:00
noah metz 1c6983ff4a Exposed load function maps in graph context constructor 2023-07-02 09:34:36 -06:00
noah metz b7a7d509e6 Exposed gql context initialization 2023-07-01 13:41:38 -06:00
noah metz b66fad2c8e Fixed update path and added more tests 2023-06-24 19:48:59 -06:00
noah metz 2de5276ecc Rework of graph.go and resource.go for state 2023-06-23 10:10:25 -06:00
noah metz 5cd741b42e intermediary 2023-06-22 15:50:42 -06:00
noah metz 753a5ed358 Changed resources needed by an event from a slice to a map 2023-06-21 12:26:22 -06:00
noah metz 9103b01990 Removed fmt.Printf from graph_test.go 2023-06-21 10:48:08 -06:00
noah metz e0b0cc7712 Moved manager_test.go to graph_test.go 2023-06-21 10:47:00 -06:00
noah metz 0c3193162c renamed graph_test.go to manager_test.go 2023-05-29 19:20:45 -06:00
noah metz 11bf1e5344 Split to seperate files and removed FSM libary to prepare for embedded callback mechanism 2023-05-29 19:17:52 -06:00
noah metz c06ff16fc9 Added EventQueue and added child_event_type that defines the required type of child_info. Look at how to make this not take up memory in each struct. 2023-05-08 21:42:33 -06:00
noah metz 272022629b Added TestAddEvent test 2023-04-08 16:59:36 -06:00
noah metz 81b3ab65bf Added constructor for EventManger that requires a single event with no children and a list of Resources ordered by dependency. Updated main and tests to match. 2023-04-08 16:51:34 -06:00
noah metz d4da75d6a1 Removed comment 2023-04-08 15:52:06 -06:00
noah metz 3e5b52884f Added update to lock/unlock for resource 2023-04-08 15:51:42 -06:00
noah metz 2b562abe01 Added naive locking/unlocking. Want to verify if it's possible to get into a deadlock with current implementation. 2023-04-08 15:47:51 -06:00
noah metz e4366c5bf2 Added 3rd tier to TestResourceUpdate 2023-04-08 15:26:04 -06:00