Package net.tomp2p.futures

Examples of net.tomp2p.futures.FutureResponse


      FutureChannelCreator fcc = master.peer().connectionBean().reservation().create(0, 1);
      fcc.awaitUninterruptibly();
      cc = fcc.channelCreator();

      // put test data
      FutureResponse fr = master.storeRPC().put(master.peerAddress(), putBuilder, cc);
      fr.awaitUninterruptibly();
      Assert.assertEquals(joins[0][0], replicateI.get());
      replicateI.set(0);
      Assert.assertEquals(joins[0][1], replicateWe.get());
      replicateWe.set(0);
      Assert.assertEquals(joins[0][2], replicateOther.get());
View Full Code Here


     * @return The request handler
     */
    private RequestHandler<FutureResponse> createHandler(final PeerAddress remotePeer, final Type type,
            final ConnectionConfiguration configuration) {
        final Message message = createMessage(remotePeer, RPC.Commands.PING.getNr(), type);
        final FutureResponse futureResponse = new FutureResponse(message);
        return new RequestHandler<FutureResponse>(futureResponse, peerBean(), connectionBean(), configuration);
    }
View Full Code Here

     * @return The future of this discover handler
     */
    private FutureResponse createDiscoverHandler(final PeerAddress remotePeer) {
        final Message message = createMessage(remotePeer, RPC.Commands.PING.getNr(), Type.REQUEST_2);
        message.neighborsSet(createNeighborSet(peerBean().serverPeerAddress()));
        return new FutureResponse(message);
    }
View Full Code Here

                        .addListener(new BaseFutureAdapter<FutureChannelCreator>() {
                            @Override
                            public void operationComplete(final FutureChannelCreator future) throws Exception {
                                if (future.isSuccess()) {
                                  LOG.debug("fire UDP to {}", message.sender());
                                    FutureResponse futureResponse = fireUDP(message.sender(), future
                                            .channelCreator(), connectionBean().channelServer()
                                            .channelServerConfiguration());
                                    Utils.addReleaseListener(future.channelCreator(), futureResponse);
                                } else {
                                  Utils.addReleaseListener(future.channelCreator());
                                    LOG.warn("handleResponse for REQUEST_3 failed (UDP) {}",
                                            future.failedReason());
                                }
                            }
                        });
            } else {
                connectionBean().reservation().create(0, 1)
                        .addListener(new BaseFutureAdapter<FutureChannelCreator>() {
                            @Override
                            public void operationComplete(final FutureChannelCreator future) throws Exception {
                                if (future.isSuccess()) {
                                  LOG.debug("fire TCP to {}", message.sender());
                                    FutureResponse futureResponse = fireTCP(message.sender(), future
                                            .channelCreator(), connectionBean().channelServer()
                                            .channelServerConfiguration());
                                    Utils.addReleaseListener(future.channelCreator(), futureResponse);
                                } else {
                                  Utils.addReleaseListener(future.channelCreator());
View Full Code Here

        }
        return send(message, configuration, channelCreator);
    }
   
    private FutureResponse send(final Message message, final ConnectionConfiguration configuration, final ChannelCreator channelCreator) {
      FutureResponse futureResponse = new FutureResponse(message);
      futureResponse.addListener(new BaseFutureAdapter<FutureResponse>() {
      @Override
            public void operationComplete(FutureResponse future) throws Exception {
              if(future.isSuccess()) {
                Message response = future.responseMessage();
                if(response != null) {
View Full Code Here

        //peers = trackerStorage.peers(key);
        LOG.debug("we got stored meshPeers size: {}", peers);
       
        if (peers == null || peers.size() == 0) {
            //future is success as we did not do PEX, since its not necessary
            return new FutureResponse(null).response(null);
        }

        peers = UtilsTracker.limit(peers, TrackerRPC.MAX_MSG_SIZE_UDP);

        message.key(key.locationKey());
        message.key(key.domainKey());
       
    LOG.debug("sent ({}) to {} / {}", message.sender().peerId(), remotePeer.peerId(), peers.size());
    message.trackerData(peers);
    FutureResponse futureResponse = new FutureResponse(message);
    final RequestHandler<FutureResponse> requestHandler = new RequestHandler<FutureResponse>(futureResponse,
            peerBean(), connectionBean(), connectionConfiguration);
    if (!connectionConfiguration.isForceTCP()) {
      return requestHandler.fireAndForgetUDP(channelCreator);
    } else {
View Full Code Here

    public RequestHandler<FutureResponse> sendInternal(final PeerAddress remotePeer,
            final SendDirectBuilderI sendDirectBuilder) {
        final Message message = createMessage(remotePeer, RPC.Commands.DIRECT_DATA.getNr(),
                sendDirectBuilder.isRaw() ? Type.REQUEST_1 : Type.REQUEST_2);
        final FutureResponse futureResponse = new FutureResponse(message,
                sendDirectBuilder.progressListener());

        if (sendDirectBuilder.isSign()) {
            message.publicKeyAndSign(sendDirectBuilder.keyPair());
        }
        message.streaming(sendDirectBuilder.isStreaming());

        if (sendDirectBuilder.isRaw()) {
            message.buffer(sendDirectBuilder.buffer());
        } else {
            byte[] me;
            try {
                me = Utils.encodeJavaObject(sendDirectBuilder.object());
                message.buffer(new Buffer(Unpooled.wrappedBuffer(me)));
            } catch (IOException e) {
                futureResponse.failed("cannot convert object", e);
            }      
        }

        return new RequestHandler<FutureResponse>(futureResponse, peerBean(), connectionBean(),
                sendDirectBuilder);
View Full Code Here

          if (peerConnection != null) {
            // create the necessary messages
            final Message setUpMessage = createSetupMessage(relayPeerAddress, unreachablePeerAddress);

            // send the message to the relay so it forwards it to the unreachable peer
            FutureResponse futureResponse = RelayUtils.send(peerConnection, peer.peerBean(),
                peer.connectionBean(), config, setUpMessage);

            // wait for the unreachable peer to answer
            futureResponse.addListener(new BaseFutureAdapter<FutureResponse>() {
              @Override
              public void operationComplete(FutureResponse future) throws Exception {
                // get the PeerConnection which is cached in the PeerBean object
                final PeerConnection openPeerConnection = peer.peerBean().peerConnection(unreachablePeerAddress.peerId());
                if (openPeerConnection != null && openPeerConnection.isOpen()) {
View Full Code Here

                            if (future.isSuccess()) {
                                BroadcastBuilder broadcastBuilder = new BroadcastBuilder(peer, messageKey);
                                broadcastBuilder.dataMap(dataMap);
                                broadcastBuilder.hopCounter(hopCounter + 1);
                                broadcastBuilder.udp(isUDP);
                                FutureResponse futureResponse = peer.broadcastRPC().send(peerAddress, broadcastBuilder,
                                        future.channelCreator(), broadcastBuilder);
                                LOG.debug("1st broadcast to {}", peerAddress);
                                Utils.addReleaseListener(future.channelCreator(), futureResponse);
                            } else {
                              Utils.addReleaseListener(future.channelCreator());
View Full Code Here

        message.intValue(broadcastBuilder.hopCounter());
        message.key(broadcastBuilder.messageKey());
        if (broadcastBuilder.dataMap() != null) {
            message.setDataMap(new DataMap(broadcastBuilder.dataMap()));
        }
        final FutureResponse futureResponse = new FutureResponse(message);
        final RequestHandler<FutureResponse> requestHandler = new RequestHandler<FutureResponse>(
                futureResponse, peerBean(), connectionBean(), configuration);
        if (!broadcastBuilder.isUDP()) {
            return requestHandler.sendTCP(channelCreator);
        } else {
View Full Code Here

TOP

Related Classes of net.tomp2p.futures.FutureResponse

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.