Commit Graph

44 Commits (7bed89701d55adf75aba520a42a98c444c785cbb)

Author SHA1 Message Date
noah metz 7bed89701d Made NewErrorSignal use fmt.Sprintf and tage variable args 2023-08-28 15:09:01 -06:00
noah metz f398c9659e Removed LinkStartSignal 2023-08-15 19:18:21 -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 b446c9078a Added WaitForResult and removed context arg from WaitForSignal 2023-08-12 11:26:19 -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 1d91854f6f Moved to x25519 for EC operations 2023-08-06 12:47:47 -06:00
noah metz 7d0af0eb5b Added NewSignal that extensions can process when a node is newly created 2023-08-04 19:47:17 -06:00
noah metz 147f44e5ff hehe 2023-08-01 20:55:15 -06:00
noah metz 42cd8f4188 Added AuthorizedSignal wrapper to wrap a signal with an ecdsa signature to prove it originated from a different node 2023-08-01 14:09:29 -06:00
noah metz df09433b88 Changed resolves to map back to request channel specifically instead of to the context 2023-07-31 20:53:56 -06:00
noah metz ed9c353b95 Added read result to default policy allow for all nodes 2023-07-31 19:22:33 -06:00
noah metz 3bc427f2a9 Added default node policy that allows any node to send a response. 2023-07-31 19:16:23 -06:00
noah metz 42597057af Fixed IDSignal 2023-07-31 18:31:32 -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 0313d6a33f Added start signal, and used it to restore gql server if was previously running 2023-07-31 16:25:18 -06:00
noah metz fde2f3ddd4 Renamed signals and added ErrorSignal 2023-07-30 23:42:47 -06:00
noah metz 1af94520a8 Added option to wait for signal indefinitely 2023-07-30 13:19:51 -06:00
noah metz 96c2b84b6f * 2023-07-30 10:09:04 -06:00
noah metz 1a3a07336a Added back GQL functionality, TODO pool channels for resolve executions instead of creating new ones and GCing them every time 2023-07-29 16:00:01 -06:00
noah metz 2dfa10b1f6 Renamed GQL functions to remove GQL 2023-07-29 11:03:41 -06:00
noah metz 641bd8febe Moved ecdh to it's own extension 2023-07-29 00:28:44 -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 61de2669e2 Added test to create 10K lockables and link them to a single lockable 2023-07-28 12:46:06 -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 7ebb519cd0 Started lockable_test.go 2023-07-27 16:21:27 -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 d2f3daf5a6 Changed NewNode to return a pointer and add the node to the context 2023-07-26 15:08:14 -06:00
noah metz 7d04923b3b Fixed interface conversion panics 2023-07-24 17:07:27 -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 054fe3c0ec Fixed starting of gql server to correctly start children that should start 2023-07-23 19:04:04 -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 d3f435351c Moved StartChild mutation to graphvent 2023-07-21 13:59:52 -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 5c416a4a3f We do a little refactoring, hehe 2023-07-09 14:30:30 -06:00