in jvm/diffuser/src/main/java/com/spotify/diffuser/fuser/Fuser.java [181:197]
public Disposable connect(Effect<A> effect) {
final AtomicBoolean isDisposed = new AtomicBoolean(false);
final Effect<A> safeEffect =
value -> {
if (!isDisposed.get()) {
effect.run(value);
}
};
final Disposable disposable = source.connect(safeEffect);
return () -> {
isDisposed.set(true);
disposable.dispose();
};
}