Commit Graph

53 Commits (e347a3f2322b2d5ed8f1ef00d411047aa4d24150)

Author SHA1 Message Date
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 000d369251 Moved ThreadStartChild to graphvent 2023-07-21 14:05:39 -06:00
noah metz 7435728321 Fixed thread.go 2023-07-21 00:06:11 -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 5d23646cd5 Make restore use interface instead of struct 2023-07-12 22:31:13 -06:00
noah metz ddc3528538 Clear timeout_action when clearing timeout on thread 2023-07-12 21:12:29 -06:00
noah metz 1fbfdf3b8c Added more logging to ThreadRestore 2023-07-11 17:16:51 -06:00
noah metz f64455f8ed Moved GQL restore to ThreadRestore to be reused by other classes. And GQLThreadInfo to ParentThreadInfo 2023-07-11 16:54:09 -06:00
noah metz 6c38089aee Improved handling of nil ThreadInfo 2023-07-11 16:39:47 -06:00
noah metz 88d8113b5c Added AllowedToTakeLock to SimpleThread that allows children to inherit locks 2023-07-11 16:13:57 -06:00
noah metz 7a95af6db2 Added nil check to deserializeinfo 2023-07-11 00:23:07 -06:00
noah metz 743569e088 Added more doc comments 2023-07-10 22:31:43 -06:00
noah metz 14b084b081 Fixed always initializing timeout on thread load. TODO: look at why loading it on thread load was causing the aborted event to not be sent 2023-07-10 01:07:56 -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 b846bbb812 Updated thread.go and thread_test.go 2023-07-09 15:59:41 -06:00
noah metz a9d1fe5793 moved to ThreadLoop from separate StartThread and RestoreThread functions 2023-07-06 16:57:51 -06:00
noah metz ff46af585d Added fixes to pass go vet 2023-07-05 14:50:21 -06:00
noah metz a7f721e0cd Allow loading of nil thread_info 2023-07-04 19:46:14 -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 53b93d5e70 Removed child_state from FindChild 2023-07-03 18:08:32 -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 300e735065 Added restore actions, and gql should run them 2023-07-02 12:47:45 -06:00
noah metz 8d041fa896 Added SetTimeout back to Thread 2023-07-02 12:23:35 -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 9b61adc375 Added check to allow restored threads to be run in RunThread 2023-07-02 11:26:58 -06:00
noah metz 1585034777 Fixed gql threadstate 2023-07-02 10:46:53 -06:00
noah metz ce0634cd61 Only lock thread during RunThread if it's not already owned by the thread 2023-07-02 10:39:15 -06:00
noah metz 638148afab Updated FindChild to use UseMoreStates and expect to get passed currently held states 2023-07-02 09:05:34 -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 a696213e38 Rework locking to hold all locks before changing any state 2023-06-28 00:48:49 -06:00
noah metz 7b6ceaaad2 Removed _state from json attributes 2023-06-26 23:20:12 -06:00
noah metz 856867fb10 Fix locking 2023-06-26 23:15:40 -06:00
noah metz 62d56f208a Add ChildGo to conveniently start children 2023-06-26 21:20:04 -06:00
noah metz 4c462a1ec5 Export InfoType for BaseThreadState to make it modifiable in libraries 2023-06-26 17:03:09 -06:00
noah metz dc7f742f32 Updated to make it easier to create modules 2023-06-26 01:16:44 -06:00
noah metz bb3c80dbc7 Fixed internal signalling for threads, and update signal type in gql 2023-06-25 21:00:00 -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 6f83587d7f Removed commented out code 2023-06-23 22:25:36 -06:00
noah metz fd9af3ef96 Nesting json unmarshal functions 2023-06-23 22:19:43 -06:00