public void handle(JoinRing event) { if (inside) { logger.error("Already inside ring"); return; } self = event.getSelf(); // initialize ring trigger(new ChordPSInit(log2RingSize, successorListLength, stabilizationPeriod, self), ring.getControl()); // initialize router trigger(new ChordIterativeRouterInit(log2RingSize, fingerStabilizationPeriod, rpcTimeout, self), router .getControl()); logger = LoggerFactory.getLogger(getClass().getName() + "@" + self.getKey()); trigger(event, ring.getPositive(ChordPeriodicStabilization.class)); } };
public void handle(CreateRing event) { if (inside) { logger.error("Already inside ring"); return; } self = event.getSelf(); // initialize ring trigger(new ChordPSInit(log2RingSize, successorListLength, stabilizationPeriod, self), ring.getControl()); // initialize router trigger(new ChordIterativeRouterInit(log2RingSize, fingerStabilizationPeriod, rpcTimeout, self), router .getControl()); logger = LoggerFactory.getLogger(getClass().getName() + "@" + self.getKey()); trigger(event, ring.getPositive(ChordPeriodicStabilization.class)); } };
public void handle(CyclonPeerInit init) { self = init.getSelf(); logger = LoggerFactory.getLogger(getClass().getName() + "@" + self.getId()); bootstrapRequestPeerCount = init.getConfiguration() .getBootstrapRequestPeerCount(); bootstrapConfiguration = init.getBootstrapConfiguration(); monitorConfiguration = init.getMonitorConfiguration(); trigger(new CyclonInit(init.getConfiguration()), cyclon .getControl()); trigger(new BootstrapClientInit(self, init .getBootstrapConfiguration()), bootstrap.getControl()); trigger(new CyclonMonitorClientInit(init.getMonitorConfiguration(), self), monitor.getControl()); } };
public void handle(ChordPeerInit init) { self = init.getSelf(); logger = LoggerFactory.getLogger(getClass().getName() + "@" + self.getId()); bootstrapRequestPeerCount = init.getChordConfiguration() .getBootstrapRequestPeerCount(); bootstrapConfiguration = init.getBootstrapConfiguration(); monitorConfiguration = init.getMonitorConfiguration(); trigger(new ChordInit(init.getChordConfiguration() .getLog2RingSize(), init.getChordConfiguration() .getSuccessorListLength(), init.getChordConfiguration() .getSuccessorStabilizationPeriod(), init .getChordConfiguration().getFingerStabilizationPeriod(), init.getChordConfiguration().getRpcTimeout()), chord .getControl()); trigger( new PingFailureDetectorInit(self, init.getFdConfiguration()), fd.getControl()); trigger(new BootstrapClientInit(self, init .getBootstrapConfiguration()), bootstrap.getControl()); trigger(new ChordMonitorClientInit(init.getMonitorConfiguration(), self), monitor.getControl()); } };
public void handle(JoinChordRing event) { // logger.debug("JOIN CHORD RING"); chordSelf = new ChordAddress(self, event.getNodeKey()); trigger(new ChordWebApplicationInit(chordSelf, monitorConfiguration.getMonitorServerAddress(), bootstrapConfiguration.getBootstrapServerAddress(), monitorConfiguration.getClientWebPort()), webapp .getControl()); BootstrapRequest request = new BootstrapRequest("Chord", bootstrapRequestPeerCount); trigger(request, bootstrap.getPositive(P2pBootstrap.class)); // Join or create are triggered on BootstrapResponse } };
public void handle(JoinCyclon event) { cyclonSelf = new CyclonAddress(self, event.getCyclonId()); trigger(new CyclonWebApplicationInit(cyclonSelf, monitorConfiguration.getMonitorServerAddress(), bootstrapConfiguration.getBootstrapServerAddress(), monitorConfiguration.getClientWebPort()), webapp .getControl()); BootstrapRequest request = new BootstrapRequest("Cyclon", bootstrapRequestPeerCount); trigger(request, bootstrap.getPositive(P2pBootstrap.class)); // Join or create are triggered on BootstrapResponse } };
@Override void doConfigUpdate(ConfigUpdate update) { Config.Impl impl = (Config.Impl) conf; impl.apply(update, ValueMerger.NONE); Update forwardedEvent = new Update(update, id()); // forward down for (Component child : children) { ((PortCore<ControlPort>) child.getControl()).doTrigger( forwardedEvent, wid, this); } // forward up if (parent != null) { ((PortCore<ControlPort>) parent.getControl()).doTrigger( forwardedEvent, wid, this); } component.postUpdate(); }
Update forwardedEvent = new Update(event.update, id()); for (Component child : children) { ((PortCore<ControlPort>) child.getControl()).doTrigger( forwardedEvent, wid, component.getComponentCore()); Update forwardedEvent = new Update(mappedUpdate, id()); for (Component child : children) { ((PortCore<ControlPort>) child.getControl()).doTrigger( forwardedEvent, wid, component.getComponentCore()); for (Component child : children) { if (child.id() != event.forwarder) { ((PortCore<ControlPort>) child.getControl()).doTrigger( forwardedEvent, wid, component.getComponentCore()); for (Component child : children) { if (child.id() != event.forwarder) { ((PortCore<ControlPort>) child.getControl()).doTrigger( forwardedEvent, wid, component.getComponentCore());