From 9965027eb65e67dabc0c5c4ce355c9a3d3b6311a Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Sun, 6 Dec 2020 00:09:06 +0100 Subject: [PATCH] Remove IMonitorHandler --- src/main/java/org/syndicate_lang/actors/Actor.java | 13 +++++++------ .../org/syndicate_lang/actors/IMonitorHandler.java | 5 ----- 2 files changed, 7 insertions(+), 11 deletions(-) delete mode 100644 src/main/java/org/syndicate_lang/actors/IMonitorHandler.java diff --git a/src/main/java/org/syndicate_lang/actors/Actor.java b/src/main/java/org/syndicate_lang/actors/Actor.java index 6c79f4d..1bad5bc 100644 --- a/src/main/java/org/syndicate_lang/actors/Actor.java +++ b/src/main/java/org/syndicate_lang/actors/Actor.java @@ -6,6 +6,7 @@ import java.util.Map; import java.util.Set; import java.util.concurrent.*; import java.util.concurrent.atomic.AtomicLong; +import java.util.function.BiConsumer; import java.util.function.Consumer; import java.util.function.Supplier; import java.util.logging.Level; @@ -28,7 +29,7 @@ public class Actor implements Executor { private Throwable _exitReason = null; private boolean _isCounted = true; private Set _links = null; - private Map> _monitors = null; + private Map>> _monitors = null; private Consumer _exitTrap = null; public static Actor current() { @@ -103,7 +104,7 @@ public class Actor implements Executor { } public Remote proxyFor(T o) { - return new Remote(this, o); + return new Remote<>(this, o); } private void _perform(Runnable work, Runnable ifNotAlive) { @@ -159,12 +160,12 @@ public class Actor implements Executor { peer.notifyExit(this); } } - Map> monitoringPeers = _monitors; + Map>> monitoringPeers = _monitors; if (monitoringPeers != null) { _monitors = null; for (var entry : monitoringPeers.entrySet()) { final var ref = entry.getKey(); - entry.getValue().async((h) -> h.handleMonitor(this, ref)); + entry.getValue().async((h) -> h.accept(this, ref)); } } _releaseCount(); @@ -273,12 +274,12 @@ public class Actor implements Executor { return ref; } - public synchronized void monitor(final Object ref, IMonitorHandler handler) { + public synchronized void monitor(final Object ref, BiConsumer handler) { if (this._alive) { if (_monitors == null) _monitors = new HashMap<>(); _monitors.put(ref, Actor.ref(handler)); } else { - Actor.ref(handler).async((h) -> h.handleMonitor(this, ref)); + Actor.ref(handler).async((h) -> h.accept(this, ref)); } } } diff --git a/src/main/java/org/syndicate_lang/actors/IMonitorHandler.java b/src/main/java/org/syndicate_lang/actors/IMonitorHandler.java deleted file mode 100644 index 0b76986..0000000 --- a/src/main/java/org/syndicate_lang/actors/IMonitorHandler.java +++ /dev/null @@ -1,5 +0,0 @@ -package org.syndicate_lang.actors; - -public interface IMonitorHandler { - void handleMonitor(Actor exitingPeer, Object ref); -}