public void handle(ChordLookupRequest event) { // System.err.println("LOOKUP_REQUEST"); trigger(event, chord.getPositive(ChordStructuredOverlay.class)); } };
public void handle(ChordNeighborsRequest event) { // System.err.println("NEIGHBORS_REQUEST"); trigger(event, chord.getPositive(ChordStatus.class)); } };
public void handle(CyclonNeighborsRequest event) { trigger(event, cyclon.getPositive(CyclonStatus.class)); } };
public void handle(CyclonGetPeersRequest event) { trigger(event, cyclon.getPositive(CyclonPeerSampling.class)); } };
public void handle(ChordLookupRequest event) { if (inside) { trigger(event, router.getPositive(ChordRouter.class)); } else { earlyLookupRequests.add(event); } } };
public void handle(LeaveRing event) { if (!inside) { if (logger != null) { logger.error("Not inside ring"); } return; } trigger(event, ring.getPositive(ChordPeriodicStabilization.class)); } };
public void handle(LeaveChordRing event) { // System.err.println("LEAVE CHORD RING @ " + self); trigger(new LeaveRing(), chord .getPositive(ChordStructuredOverlay.class)); } };
public void handle(JoinRingCompleted event) { logger.debug("JoinRing completed"); // bootstrap completed trigger(new BootstrapCompleted("Chord", chordSelf), bootstrap .getPositive(P2pBootstrap.class)); } };
public void handle(JoinCompleted event) { logger.debug("Join completed"); // bootstrap completed trigger(new BootstrapCompleted("Cyclon", cyclonSelf), bootstrap .getPositive(P2pBootstrap.class)); } };
public void handle(NewFingerTable event) { logger.debug("NEW_FINGER_TABLE {}", event.getFingerTableView()); fingerTableView = event.getFingerTableView(); if (inside && !earlyLookupRequests.isEmpty()) { for (ChordLookupRequest request : earlyLookupRequests) { trigger(request, router.getPositive(ChordRouter.class)); } earlyLookupRequests.clear(); } trigger(event, son); } };
@Override public void connectTimer(ComponentProxy proxy, Component c) { proxy.connect(timerC.getPositive(Timer.class), c.getNegative(Timer.class), Channel.TWO_WAY); } }));
@Override public void connectTimer(ComponentProxy proxy, Component c) { proxy.connect(timerC.getPositive(Timer.class), c.getNegative(Timer.class), Channel.TWO_WAY); } }));
public void handle(BootstrapResponse event) { if (!bootstrapped) { logger.debug("Got BoostrapResponse {}, Bootstrap complete", event.getPeers().size()); Set<PeerEntry> somePeers = event.getPeers(); LinkedList<CyclonAddress> cyclonInsiders = new LinkedList<CyclonAddress>(); for (PeerEntry peerEntry : somePeers) { cyclonInsiders.add((CyclonAddress) peerEntry .getOverlayAddress()); } trigger(new Join(cyclonSelf, cyclonInsiders), cyclon .getPositive(CyclonPeerSampling.class)); bootstrapped = true; } } };
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 Parent(final Init init) { System.out.println("Creating sender at " + init.selfAddress); final Component senderC = create(SenderC.class, new SenderC.Init(init.selfAddress, init.targetAddress)); final Component timerC = create(JavaTimer.class, se.sics.kompics.Init.NONE); final Component netC = create(DataNetwork.class, new DataNetwork.Init(new NetHook() { @Override public Component setupNetwork(ComponentProxy proxy) { Component nettyC = create(NettyNetwork.class, new NettyInit(init.selfAddress)); return nettyC; } @Override public void connectTimer(ComponentProxy proxy, Component c) { proxy.connect(timerC.getPositive(Timer.class), c.getNegative(Timer.class), Channel.TWO_WAY); } })); connect(netC.getPositive(Network.class), senderC.getNegative(Network.class), Channel.TWO_WAY); }
public Parent(final Init init) { System.out.println("Creating receiver at " + init.selfAddress); final Component recvC = create(ReceiverC.class, new ReceiverC.Init(init.selfAddress)); final Component timerC = create(JavaTimer.class, se.sics.kompics.Init.NONE); final Component netC = create(DataNetwork.class, new DataNetwork.Init(new NetHook() { @Override public Component setupNetwork(ComponentProxy proxy) { Component nettyC = create(NettyNetwork.class, new NettyInit(init.selfAddress)); return nettyC; } @Override public void connectTimer(ComponentProxy proxy, Component c) { proxy.connect(timerC.getPositive(Timer.class), c.getNegative(Timer.class), Channel.TWO_WAY); } })); connect(netC.getPositive(Network.class), recvC.getNegative(Network.class), Channel.TWO_WAY); }
public DataNetwork(Init init) { Component dataInterceptorC = create(DataStreamInterceptor.class, Init.NONE); Component networkC = init.hook.setupNetwork(proxy); init.hook.connectTimer(proxy, dataInterceptorC); Positive<Network> nettyPort = networkC.getPositive(Network.class); Negative<Network> interceptorPortReq = dataInterceptorC.getNegative(Network.class); Positive<Network> interceptorPortProv = dataInterceptorC.getPositive(Network.class); connect(nettyPort, interceptorPortReq, Channel.TWO_WAY); connect(interceptorPortProv, net, new DataSelector(), Channel.ONE_WAY_POS); connect(interceptorPortProv, net, new DataNotifySelector(), Channel.ONE_WAY_POS); connect(nettyPort, net, new NotDataSelector(), Channel.ONE_WAY_POS); connect(nettyPort, net, new NotDataNotifySelector(), Channel.ONE_WAY_POS); connect(nettyPort, net, Channel.ONE_WAY_NEG); }
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 } };
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 } };