public Promise<Boolean> unSubscribe(int id, Callback cb) { Callback removed = getSubsMap().remove(id); if ( removed != null ) // ensure remote mapping is cleaned up removed.finish(); return new Promise( removed != null ); }
public Promise<Boolean> unSubscribe(int id, Callback cb) { Callback removed = getSubsMap().remove(id); if ( removed != null ) // ensure remote mapping is cleaned up removed.finish(); return new Promise( removed != null ); }
public void _unsubscribe( Callback cb /*dummy required to find sending connection*/, int id ) { checkThread(); String sid = addChannelIdIfPresent(cb, ""+id); Subscriber subs = (Subscriber) receiverSideSubsMap.get(sid); filterProcessor.unsubscribe(subs); receiverSideSubsMap.remove(sid); cb.finish(); subs.getServerSideCB().finish(); }
@CallerSideMethod default void forEach(RLPredicate<Record> predicate, Callback<Record> cb ) { forEachWithSpore(new FilterSpore(predicate).setForEach(cb).onFinish( () -> cb.finish() )); }
@CallerSideMethod default <R> void map(RLPredicate<Record> predicate, RLFunction<Record,R> mapFun, Callback<R> cb ) { forEachWithSpore(new MapSpore(predicate,mapFun).setForEach(cb).onFinish( () -> cb.finish() )); }