/** * Subscribe to display events. */ public ISubscriptionIntermediateFuture<Object> subscribeToDisplayUpdates(String displayid) { // SubscriptionIntermediateFuture<Object> ret = new SubscriptionIntermediateFuture<Object>(); final SubscriptionIntermediateFuture<Object> ret = (SubscriptionIntermediateFuture<Object>)SFuture.getNoTimeoutFuture(SubscriptionIntermediateFuture.class, agent.agent); subscribers.put(displayid, ret); return ret; } }
/** * A test method. */ public ITerminableFuture<Void> method2() { TerminableFuture<Void> ret = (TerminableFuture<Void>)SFuture.getNoTimeoutFuture(TerminableFuture.class, agent); // System.out.println("Called tmethod2"); doCall(ret); return ret; }
/** * Call a method that must use a secure * transport under the hood. */ public IFuture<Void> method1() { // final Future<Void> ret = new Future<Void>(); final Future<Void> ret = (Future<Void>)SFuture.getNoTimeoutFuture(agent); // System.out.println("Called method1"); doCall(ret); return ret; }
/** * A test method. */ public IIntermediateFuture<Void> method3() { final IntermediateFuture<Void> ret = (IntermediateFuture<Void>)SFuture.getNoTimeoutFuture(IntermediateFuture.class, agent); // System.out.println("Called imethod3"); doCall(ret); return ret; }
/** * A test method. */ public ISubscriptionIntermediateFuture<Void> method4() { final SubscriptionIntermediateFuture<Void> ret = (SubscriptionIntermediateFuture<Void>)SFuture.getNoTimeoutFuture(SubscriptionIntermediateFuture.class, agent); // System.out.println("Called smethod4"); doCall(ret); return ret; }
/** * Subscribe to a specific topic. New events that fit to the topic are forwarded to all replication subscribers as intermediate results. A subscribe can unsubscribe by terminating the future. * * @param topic The topic. * @return The events. */ public ISubscriptionIntermediateFuture<Event> subscribeForReplication(String topic) { final SubscriptionIntermediateFuture<Event> ret = (SubscriptionIntermediateFuture<Event>)SFuture.getNoTimeoutFuture(SubscriptionIntermediateFuture.class, agent); // SubscriptionIntermediateFuture<Event> ret = new SubscriptionIntermediateFuture<Event>(); List<SubscriptionIntermediateFuture<Event>> subs = repsubscribers.get(topic); if (subs == null) { subs = new ArrayList<SubscriptionIntermediateFuture<Event>>(); repsubscribers.put(topic, subs); } subs.add(ret); return ret; }
/** * Subscribe to a specific topic. New events that fit to the topic * are forwarded to all subscribers as intermediate results. * A subscribe can unsubscribe by terminating the future. * @param topic The topic. * @return The events. */ public ISubscriptionIntermediateFuture<Event> subscribe(String topic) { // SubscriptionIntermediateFuture<Event> ret = new SubscriptionIntermediateFuture<Event>(); final SubscriptionIntermediateFuture<Event> ret = (SubscriptionIntermediateFuture<Event>)SFuture.getNoTimeoutFuture(SubscriptionIntermediateFuture.class, agent); List<SubscriptionIntermediateFuture<Event>> subs = subscribers.get(topic); if(subs==null) { subs = new ArrayList<SubscriptionIntermediateFuture<Event>>(); subscribers.put(topic, subs); } subs.add(ret); return ret; }
/** * Subscribe to a specific topic. New events that fit to the topic are forwarded to all subscribers as intermediate results. A subscribe can unsubscribe by terminating the future. Every time when * someone subscribe for local messages the server also subscribe for the given topic by all the other remote services. * * @param topic The topic. * @return The events. */ public ISubscriptionIntermediateFuture<Event> subscribe(final String topic) { // SubscriptionIntermediateFuture<Event> ret = new SubscriptionIntermediateFuture<Event>(); final SubscriptionIntermediateFuture<Event> ret = (SubscriptionIntermediateFuture<Event>)SFuture.getNoTimeoutFuture(SubscriptionIntermediateFuture.class, agent); List<SubscriptionIntermediateFuture<Event>> subs = localsubscribers.get(topic); if(subs == null) { subs = new ArrayList<SubscriptionIntermediateFuture<Event>>(); localsubscribers.put(topic, subs); } subs.add(ret); // subscribe at the remote services subscribeRemote(topic); return ret; }
/** * Subscribe to events from the chat service. * @return A future publishing chat events as intermediate results. */ public ISubscriptionIntermediateFuture<ChatEvent> subscribeToEvents() { // final SubscriptionIntermediateFuture<ChatEvent> ret = new SubscriptionIntermediateFuture<ChatEvent>(); final SubscriptionIntermediateFuture<ChatEvent> ret = (SubscriptionIntermediateFuture<ChatEvent>)SFuture.getNoTimeoutFuture(SubscriptionIntermediateFuture.class, agent); if(subscribers==null) { subscribers = new LinkedHashSet<SubscriptionIntermediateFuture<ChatEvent>>(); } subscribers.add(ret); ret.setTerminationCommand(new TerminationCommand() { public void terminated(Exception reason) { subscribers.remove(ret); } }); return ret; }
/** * Retrieve information about platforms as they appear or vanish. * @param include_initial If true, information about initially known platforms will be immediately posted to the caller. * Otherwise only changes that happen after the subscription will be posted. * @return An intermediate future that is notified about any changes. */ public ISubscriptionIntermediateFuture<DiscoveryInfo> subscribeToPlatformList(boolean include_initial) { // SubscriptionIntermediateDelegationFuture<DiscoveryInfo> ret = new SubscriptionIntermediateDelegationFuture<DiscoveryInfo>(); SubscriptionIntermediateDelegationFuture<DiscoveryInfo> ret = (SubscriptionIntermediateDelegationFuture<DiscoveryInfo>)SFuture.getNoTimeoutFuture(SubscriptionIntermediateDelegationFuture.class, agent); if(listeners==null) { listeners = new LinkedHashSet<SubscriptionIntermediateDelegationFuture<DiscoveryInfo>>(); } listeners.add(ret); if(include_initial) { for(DiscoveryInfo dif: discovered.values()) { ret.addIntermediateResult(dif); } } return ret; }
/** * Subscribe to rule executions. */ public ISubscriptionIntermediateFuture<RuleEvent> subscribeToEngine() { final SubscriptionIntermediateFuture<RuleEvent> ret = (SubscriptionIntermediateFuture<RuleEvent>)SFuture.getNoTimeoutFuture(SubscriptionIntermediateFuture.class, agent); ret.setTerminationCommand(new TerminationCommand() { public void terminated(Exception reason) { resubscribers.remove(ret); } }); resubscribers.add(ret); // signal with null subscribe done ret.addIntermediateResultIfUndone(null); return ret; }
/** * Subscribe to the newsprovider. */ public ISubscriptionIntermediateFuture<String> subscribeToNews() { final SubscriptionIntermediateFuture<String> ret = (SubscriptionIntermediateFuture<String>)SFuture.getNoTimeoutFuture(SubscriptionIntermediateFuture.class, agent.getExternalAccess()); ret.setTerminationCommand(new ITerminationCommand() { public void terminated(Exception reason) { subscriptions.remove(ret); } public boolean checkTermination(Exception reason) { return true; } }); subscriptions.add(ret); return ret; } }
/** * Subscribe to rule executions. */ public ISubscriptionIntermediateFuture<RuleEvent> subscribeToEngine() { final SubscriptionIntermediateFuture<RuleEvent> ret = (SubscriptionIntermediateFuture<RuleEvent>)SFuture.getNoTimeoutFuture(SubscriptionIntermediateFuture.class, agent); ret.setTerminationCommand(new TerminationCommand() { public void terminated(Exception reason) { resubscribers.remove(ret); } }); resubscribers.add(ret); // signal with null subscribe done ret.addIntermediateResultIfUndone(null); return ret; }
/** * Subscribe to rule executions. */ public ISubscriptionIntermediateFuture<RuleEvent> subscribeToEngine() { final SubscriptionIntermediateFuture<RuleEvent> ret = (SubscriptionIntermediateFuture<RuleEvent>)SFuture.getNoTimeoutFuture(SubscriptionIntermediateFuture.class, agent); ret.setTerminationCommand(new TerminationCommand() { public void terminated(Exception reason) { resubscribers.remove(ret); } }); resubscribers.add(ret); // signal with null subscribe done ret.addIntermediateResultIfUndone(null); return ret; }
/** * Subscribe to rule executions. */ public ISubscriptionIntermediateFuture<RuleEvent> subscribeToEngine() { final SubscriptionIntermediateFuture<RuleEvent> ret = (SubscriptionIntermediateFuture<RuleEvent>)SFuture.getNoTimeoutFuture(SubscriptionIntermediateFuture.class, agent); ret.setTerminationCommand(new TerminationCommand() { public void terminated(Exception reason) { resubscribers.remove(ret); } }); resubscribers.add(ret); // signal with null subscribe done ret.addIntermediateResultIfUndone(null); return ret; }
/** * Add an external event to the rule engine. * It will process the event and fire rules * accordingly. * @param event The event. */ public IIntermediateFuture<RuleEvent> addEvent(IEvent event) { final SubscriptionIntermediateFuture<RuleEvent> ret = (SubscriptionIntermediateFuture<RuleEvent>)SFuture.getNoTimeoutFuture(SubscriptionIntermediateFuture.class, agent); rulesystem.addEvent(event); // todo: process more than one event until quiescience? rulesystem.processEvent().addResultListener(new IntermediateDelegationResultListener<RuleEvent>(ret) { public void customIntermediateResultAvailable(RuleEvent result) { super.customIntermediateResultAvailable(result); publishEvent(result); } }); return ret; }
/** * Add an external event to the rule engine. * It will process the event and fire rules * accordingly. * @param event The event. */ public IIntermediateFuture<RuleEvent> addEvent(IEvent event) { final SubscriptionIntermediateFuture<RuleEvent> ret = (SubscriptionIntermediateFuture<RuleEvent>)SFuture.getNoTimeoutFuture(SubscriptionIntermediateFuture.class, agent); rulesystem.addEvent(event); // todo: process more than one event until quiescience? rulesystem.processEvent().addResultListener(new IntermediateDelegationResultListener<RuleEvent>(ret) { public void customIntermediateResultAvailable(RuleEvent result) { super.customIntermediateResultAvailable(result); publishEvent(result); } }); return ret; }
/** * Add an external event to the rule engine. * It will process the event and fire rules * accordingly. * @param event The event. */ public IIntermediateFuture<RuleEvent> addEvent(IEvent event) { final SubscriptionIntermediateFuture<RuleEvent> ret = (SubscriptionIntermediateFuture<RuleEvent>)SFuture.getNoTimeoutFuture(SubscriptionIntermediateFuture.class, agent); rulesystem.addEvent(event); // todo: process more than one event until quiescience? rulesystem.processEvent().addResultListener(new IntermediateDelegationResultListener<RuleEvent>(ret) { public void customIntermediateResultAvailable(RuleEvent result) { super.customIntermediateResultAvailable(result); publishEvent(result); } }); return ret; }
/** * Add an external event to the rule engine. * It will process the event and fire rules * accordingly. * @param event The event. */ public IIntermediateFuture<RuleEvent> addEvent(IEvent event) { final SubscriptionIntermediateFuture<RuleEvent> ret = (SubscriptionIntermediateFuture<RuleEvent>)SFuture.getNoTimeoutFuture(SubscriptionIntermediateFuture.class, agent); rulesystem.addEvent(event); // todo: process more than one event until quiescience? rulesystem.processEvent().addResultListener(new IntermediateDelegationResultListener<RuleEvent>(ret) { public void customIntermediateResultAvailable(RuleEvent result) { super.customIntermediateResultAvailable(result); publishEvent(result); } }); return ret; }
final SubscriptionIntermediateFuture<IMonitoringEvent> ret = (SubscriptionIntermediateFuture<IMonitoringEvent>)SFuture.getNoTimeoutFuture(SubscriptionIntermediateFuture.class, agent);