summaryrefslogtreecommitdiffstats
path: root/notes/notes
blob: 899040d9d3a0b08e8a7eea0d1a91021e22bf7c50 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
things i need:
	locking
	automatic reexecution for any object
		with a reread of all config stuff? is this even possible?
	state maintenance
	event handling and subscription
	failure propagation

my basic process:
	load the configs
		create each object tree in a stack
		register each event, with subscriptions and paths
		register all callbacks
	run a recursive check on each tree
		depth-first? configurable?
		do checks result in events or methods or what?
			should checks return methods which just get executed in order?
			but then what do events cause?  don't i have to register callbacks?
			what if the callbacks cause a change which kicks off an event? can
			i worry about infinite loops?

			and i can't just register all the callbacks upfront
				but all callbacks will be registered before any work is done
	execute each fix
	execute resulting callbacks
	destruct each object tree

hmmm
	do i need object trees with callbacks? how do they relate?
	currently they just seem to give containers first crack at responding
	to an event
	i'm looking for closure-like performance from each tree
	how much should the checks know? they obviously shouldn't know much
		they should not need to know the event that a fix will kick off, the
		fix should know that
	so it looks like i'm trying to decide between idempotent operations and
	idempotent processes
		if a fix gets called, it should just fix; it shouldn't need to check
		whether it's necessary
	tree vs array
		should everything stay in the tree? what does "containment" really mean?
			should i just save containment for later? because it's really about
			forcing all changes to go through the container, rather than
			direct modification