Commit Graph

88 Commits (d0f0fb1b825dbb15e491546653e8dec722c238f2)

Author SHA1 Message Date
noah metz 1888cf428d Think i finished serialization(other than missing types/kinds), now onto deserialization 2023-09-02 17:30:52 -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 4ce2a642c5 Changed TestLink to test add and remove 2023-08-15 19:28:15 -06:00
noah metz 98f05d57f9 Added signals to add and remove requirements from a lockable node 2023-08-15 19:17:13 -06:00
noah metz 98c0b7e807 Fixed lockable to properly fail 2023-08-15 18:23:06 -06:00
noah metz d663314def Test updates 2023-08-11 16:00:36 -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 20c7a38044 Policy fun 2023-08-10 23:43:10 -06:00
noah metz f31beade29 Added signature to all signals(signature of serialized signal + source + dest so technically vulnerable to replay) to use for ACL 2023-08-08 14:00:17 -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 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