Commit Graph

118 Commits (0bced58fd1b158ae98dd15128d21adcaf6c84deb)

Author SHA1 Message Date
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
noah metz 4b64fb1ef2 Removed state argument from LockLockable and UnlockLockable 2023-07-03 17:13:00 -06:00
noah metz 5bdc06bf0f Added UnlinkLockables and UnlinkThreads 2023-07-03 16:37:54 -06:00
noah metz 64171c6c85 Added UnlinkLockables and UnlinkThreads 2023-07-03 16:03:56 -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 6355cc4226 Moved timeout info to thread state, and fixed restore to add handlers and actions 2023-07-02 12:17:53 -06:00
noah metz c9d9b9ac03 Update a bunch of stuff 2023-07-02 12:14:04 -06:00
noah metz 3ebb6fe223 Added fail to LockLockables if owner is trying to lock again 2023-07-02 10:34:25 -06:00
noah metz fa22d8f2a9 Log change 2023-07-02 10:09:46 -06:00
noah metz d2b32bac5e Moved GQL context information out of node runtime state and into context 2023-07-01 13:03:28 -06:00
noah metz 04771b7816 Added BaseLockable and BaseThread nested saving/loading 2023-06-30 13:25:35 -06:00
noah metz 84a700909d Updated intances of state updating to use new API 2023-06-28 23:51:44 -06:00
noah metz e862f9e49c Add UseMoreStates and UpdateMoreStates that should only be called from eachother 2023-06-28 21:49:23 -06:00
noah metz 3e27d1d6b0 Add owner checks to LinkLockable 2023-06-28 01:02:43 -06:00
noah metz a696213e38 Rework locking to hold all locks before changing any state 2023-06-28 00:48:49 -06:00
noah metz ee98e13044 Log unlock 2023-06-27 18:48:45 -06:00
noah metz 7b6ceaaad2 Removed _state from json attributes 2023-06-26 23:20:12 -06:00
noah metz 1ce98e2719 Renamed delegation_map to locks_held 2023-06-26 23:18:54 -06:00
noah metz cf8648f615 Chane UnlockLockable recursiveness 2023-06-26 23:12:43 -06:00
noah metz 6c1887ed76 Change lockable recursiveness 2023-06-26 23:10:18 -06:00
noah metz dc7f742f32 Updated to make it easier to create modules 2023-06-26 01:16:44 -06:00
noah metz 26f57daf23 Changed NewLockable to NewBaseLockable 2023-06-25 22:23:57 -06:00
noah metz a185cc3dfc Added base GQLThread 2023-06-25 20:20:59 -06:00
noah metz 1598e2939a Cleaned up initializers 2023-06-25 13:39:00 -06:00
noah metz b66fad2c8e Fixed update path and added more tests 2023-06-24 19:48:59 -06:00
noah metz fd9af3ef96 Nesting json unmarshal functions 2023-06-23 22:19:43 -06:00
noah metz cb718d486f fixed bug in lockable and moved delegation_map to lockable 2023-06-23 21:57:26 -06:00
noah metz 30971f00bd Renamed resource to lockable and event to thread 2023-06-23 20:56:09 -06:00