optimizations on when to do NAT processing
This commit is contained in:
@@ -107,7 +107,7 @@
|
|||||||
&mut lastCollector
|
&mut lastCollector
|
||||||
(lambda []
|
(lambda []
|
||||||
(set lastChangeSet (the ChangeSet (Reflect.callMethod null command.handler collectedArgs)))
|
(set lastChangeSet (the ChangeSet (Reflect.callMethod null command.handler collectedArgs)))
|
||||||
(ui.handleChanges archive lastChangeSet))]
|
(when lastChangeSet (ui.handleChanges archive lastChangeSet)))]
|
||||||
// To facilitate asynchronous arg input via UI, we need to construct an insanely complicated nested callback to give the UI
|
// To facilitate asynchronous arg input via UI, we need to construct an insanely complicated nested callback to give the UI
|
||||||
(doFor arg (reversed command.args)
|
(doFor arg (reversed command.args)
|
||||||
(set lastCollector (_composeArgCollector collectedArgs arg lastCollector)))
|
(set lastCollector (_composeArgCollector collectedArgs arg lastCollector)))
|
||||||
|
@@ -82,6 +82,7 @@
|
|||||||
|
|
||||||
|
|
||||||
(method handleChanges [:Archive archive :ChangeSet changeSet]
|
(method handleChanges [:Archive archive :ChangeSet changeSet]
|
||||||
|
(archive.processSystems)
|
||||||
(doFor e changeSet
|
(doFor e changeSet
|
||||||
(print (archive.fullString e))))
|
(print (archive.fullString e))))
|
||||||
|
|
||||||
|
@@ -2,8 +2,7 @@
|
|||||||
|
|
||||||
(method :Void process [:Archive archive]
|
(method :Void process [:Archive archive]
|
||||||
(doFor e (entries.iterator)
|
(doFor e (entries.iterator)
|
||||||
(processEntry archive e)
|
(processEntry archive e)))
|
||||||
(archive.refreshEntry e)))
|
|
||||||
|
|
||||||
(defNew [&prop :EntryChecker canProcessEntry
|
(defNew [&prop :EntryChecker canProcessEntry
|
||||||
&prop :EntryProcessor processEntry]
|
&prop :EntryProcessor processEntry]
|
||||||
@@ -18,4 +17,4 @@
|
|||||||
(entries.remove e.id)
|
(entries.remove e.id)
|
||||||
(when onRemoveEntry (onRemoveEntry archive e)))))
|
(when onRemoveEntry (onRemoveEntry archive e)))))
|
||||||
|
|
||||||
// TODO systems may need access to a UI
|
// TODO systems may need access to a UI or ArchiveController
|
||||||
|
Reference in New Issue
Block a user