Commit Graph

77 Commits (09c25b1e48532f6d274e018089ddb55a24c1d305)

Author SHA1 Message Date
noah metz 09c25b1e48 Moved UUID field to all signals to nodes can wait for responses to specific signals 2023-07-31 18:29:26 -06:00
noah metz 0424a3970f Changed lockable responses to errors 2023-07-30 23:52:33 -06:00
noah metz fde2f3ddd4 Renamed signals and added ErrorSignal 2023-07-30 23:42:47 -06:00
noah metz 96c2b84b6f * 2023-07-30 10:09:04 -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 61de2669e2 Added test to create 10K lockables and link them to a single lockable 2023-07-28 12:46:06 -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 a16cf6bb38 Added merging to policies, need to make another interface for the shared all/per node policies to make a shared loading function 2023-07-28 00:32:43 -06:00
noah metz fb7e6d02f4 Fixed json parsing, not sure if it broke or just wasn't running before 2023-07-28 00:04:18 -06:00
noah metz 027c3d4c96 Moved ExtType and PolicyType definitions to one block 2023-07-27 23:15:58 -06:00
noah metz c763725a34 Fixed lockable link sequences 2023-07-27 23:05:19 -06:00
noah metz 027bb74887 Added unlock, need to update link to match pattern and see if it can be generalized 2023-07-27 22:25:00 -06:00
noah metz a1ce4238cc Implemented locking over signals, TODO: implement unlock 2023-07-27 19:53:43 -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 7ebb519cd0 Started lockable_test.go 2023-07-27 16:21:27 -06:00
noah metz 9d31394707 Remvoed Node.Signal and replaced with Context.Send 2023-07-27 16:13:43 -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 7a7a9c95a3 Fixed gql_test.go 2023-07-27 12:20:49 -06:00
noah metz 4fa88dc056 Changed SendUpdate to Node.Process, and changed principal to ID to prepare for decoupling nodes 2023-07-27 01:30:32 -06:00
noah metz 81c2e11304 Renamed SendSignal to Node.Process 2023-07-27 01:15:53 -06:00
noah metz 186123ce01 Added SimpleListenerNode to test suite 2023-07-27 00:30:24 -06:00
noah metz 89c8fba39b Added RequirementOfPolicy and thread extension child loading 2023-07-26 15:40:33 -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 fa6142d880 Started adding back gql tests 2023-07-26 11:56:10 -06:00
noah metz f1c0f1e7de Added gql to the rework 2023-07-26 00:18:11 -06:00
noah metz ff813d6c2b Moved from inheritance to extensions 2023-07-25 21:43:15 -06:00
noah metz a2395189a8 Added LoadJSONNode to abstract out repeated json unmarshaling 2023-07-25 00:19:39 -06:00
noah metz 7d04923b3b Fixed interface conversion panics 2023-07-24 17:07:27 -06:00
noah metz fc2e36043f Tests compile and run 2023-07-24 16:04:56 -06:00
noah metz fa10ccd743 Attempt to fix DependencyPolicy 2023-07-24 01:41:47 -06:00
noah metz a97b47af1b fix 2023-07-23 23:55:32 -06:00
noah metz 8d94e04b07 Fixed lockable lock permissions 2023-07-23 23:54:05 -06:00
noah metz fc6c198ae3 Moved gql thread actions/handlers to module functions 2023-07-23 23:01:45 -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 575912d56f Fixed compile errors 2023-07-22 21:24:54 -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 c3058fbd3d Added more to policy, and updated lockable to use better IDs 2023-07-21 00:02:53 -06:00
noah metz 61fd7d61aa Added policy.go 2023-07-20 23:19:10 -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 a9b40db0de Fixed typo in log 2023-07-11 17:22:14 -06:00
noah metz 89f17b1b45 mend 2023-07-11 16:20:00 -06:00
noah metz e5ba988f01 Allow locking of already owned resources, considered nop and continues 2023-07-11 16:17:21 -06:00
noah metz 743569e088 Added more doc comments 2023-07-10 22:31:43 -06:00
noah metz 6a0a0762ad Finished rework of context 2023-07-09 20:30:19 -06:00
noah metz 269e7a57e2 Added correct Type for simple_thread 2023-07-09 16:03:42 -06:00
noah metz 5c416a4a3f We do a little refactoring, hehe 2023-07-09 14:30:30 -06:00
noah metz c42ca80d47 Modified SendUpdate to require it to be called from inside a UseStates context. 2023-07-04 18:45:23 -06:00