Allow "post processing" of chunks (#658)

* begin allowing "post processing" of chunks
 - restores legacy capability to continue saving edits in the background after sending the chunks
 - speeds up the edit clientside
 - nail in the coffin of the terrible and staticly coded coreedit
 - We should totally make IronGolem work so Core* is no longer used by anyone

* begin allowing background history saving

* Handle post processors in queues properly

* Use futures for postprocessing so we're not waiting for them needlessly

* better use of closed boolean

* Reword
This commit is contained in:
dordsor21
2020-09-28 11:13:02 +01:00
committed by GitHub
parent 2aef0ee27e
commit 82bcc0e9a5
37 changed files with 811 additions and 18 deletions

View File

@ -317,6 +317,24 @@ public class AbstractDelegateExtent implements Extent {
return this;
}
@Override
public Extent addPostProcessor(IBatchProcessor processor) {
if (Settings.IMP.EXPERIMENTAL.OTHER) {
logger.info("addPostProcessor Info: \t " + processor.getClass().getName());
logger.info("The following is not an error or a crash:");
StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
for (StackTraceElement stackTraceElement : stackTrace) {
logger.info(stackTraceElement.toString());
}
}
Extent result = this.extent.addPostProcessor(processor);
if (result != this.extent) {
new ExtentTraverser<Extent>(this).setNext(result);
}
return this;
}
@Override
public Extent disableHistory() {
Extent result = this.extent.disableHistory();