Package org.jivesoftware.smack

Examples of org.jivesoftware.smack.PacketCollector


    public void save(Connection connection) throws XMPPException {
        checkAuthenticated(connection, true);

        setType(IQ.Type.SET);
        setFrom(connection.getUser());
        PacketCollector collector = connection.createPacketCollector(new PacketIDFilter(getPacketID()));
        connection.sendPacket(this);

        Packet response = collector.nextResult(SmackConfiguration.getPacketReplyTimeout());

        // Cancel the collector.
        collector.cancel();
        if (response == null) {
            throw new XMPPException("No response from server on status set.");
        }
        if (response.getError() != null) {
            throw new XMPPException(response.getError());
View Full Code Here


        doLoad(connection, user);
    }

    private void doLoad(Connection connection, String user) throws XMPPException {
        setType(Type.GET);
        PacketCollector collector = connection.createPacketCollector(
                new PacketIDFilter(getPacketID()));
        connection.sendPacket(this);

        VCard result = null;
        try {
            result = (VCard) collector.nextResult(SmackConfiguration.getPacketReplyTimeout());

            if (result == null) {
                String errorMessage = "Timeout getting VCard information";
                throw new XMPPException(errorMessage, new XMPPError(
                        XMPPError.Condition.request_timeout, errorMessage));
View Full Code Here

        Registration reg = new Registration();
        reg.setTo(connection.getServiceName());
        reg.setFrom(toRegister);
        PacketFilter filter = new AndFilter(new PacketIDFilter(
            reg.getPacketID()), new PacketTypeFilter(IQ.class));
        PacketCollector collector = connection.createPacketCollector(filter);
        connection.sendPacket(reg);
        IQ result = (IQ) collector.nextResult(SmackConfiguration
            .getPacketReplyTimeout());

        // Stop queuing results
        collector.cancel();

        if (result == null) {
            // TODO This exception is shown incorrectly to the user!!
            throw new XMPPException("No response from server.");
        } else if (result.getType() == IQ.Type.ERROR) {
View Full Code Here

        Version version = new Version();
        version.setType(IQ.Type.GET);
        version.setTo(getServiceName());

        // Create a packet collector to listen for a response.
        PacketCollector collector = getConnection(0).createPacketCollector(new PacketIDFilter(version.getPacketID()));

        getConnection(0).sendPacket(version);

        // Wait up to 5 seconds for a result.
        IQ result = (IQ)collector.nextResult(5000);
        // Close the collector
        collector.cancel();

        assertNotNull("No result from the server", result);

        assertEquals("Incorrect result type", IQ.Type.RESULT, result.getType());
        assertNotNull("No name specified in the result", ((Version)result).getName());
View Full Code Here

        Bytestream bytestreamInitiation = Socks5PacketUtils.createBytestreamInitiation(
                        initiatorConnection.getUser(), targetConnection.getUser(), "session_id");
        bytestreamInitiation.addStreamHost("proxy.localhost", "127.0.0.1", 7777);

        PacketCollector collector = initiatorConnection.createPacketCollector(new PacketIDFilter(
                        bytestreamInitiation.getPacketID()));
        initiatorConnection.sendPacket(bytestreamInitiation);
        Packet result = collector.nextResult();

        assertNotNull(result.getError());
        assertEquals(XMPPError.Condition.no_acceptable.toString(), result.getError().getCondition());

    }
View Full Code Here

 
  static public Packet getReply(Connection connection, Packet packet, long timeout)
    throws XMPPException
  {
        PacketFilter responseFilter = new PacketIDFilter(packet.getPacketID());
        PacketCollector response = connection.createPacketCollector(responseFilter);
       
        connection.sendPacket(packet);

        // Wait up to a certain number of seconds for a reply.
        Packet result = response.nextResult(timeout);

        // Stop queuing results
        response.cancel();

        if (result == null) {
            throw new XMPPException("No response from server.");
        }
        else if (result.getError() != null) {
View Full Code Here

    iqSent.setFrom(getFullJID(0));
    iqSent.setType(IQ.Type.GET);

    // Create a filter and a collector...
    PacketFilter filter = new PacketTypeFilter(IQ.class);
    PacketCollector collector = getConnection(0).createPacketCollector(filter);

    System.out.println("Testing if a Jingle IQ can be sent and received...");

    // Send the iq packet with an invalid namespace
    getConnection(0).sendPacket(iqSent);

    // Receive the packet
    IQ iqReceived = (IQ)collector.nextResult(SmackConfiguration.getPacketReplyTimeout());

    // Stop queuing results
    collector.cancel();

    if (iqReceived == null) {
      fail("No response from server");
    }
    else if (iqReceived.getType() == IQ.Type.ERROR) {
View Full Code Here

            progress.subTask("Generating Test Data");
            byte[] testData = getTestArray(size);
            progress.worked(1);

            // Create a packet collector to listen for a response.
            PacketCollector collector = connection
                .createPacketCollector(new PacketIDFilter(id));

            StopWatch watch = new StopWatch().start();

            try {
                try {
                    progress.subTask("Sending Data");
                    dataTransferManager.sendData(transferData, testData,
                        progress.newChild(40));
                } catch (IOException e) {
                    throw new XMPPException("IOException sending data", e);
                } catch (SarosCancellationException e) {
                    throw new XMPPException(
                        "CancellationException sending data", e);
                }

                progress.subTask("Waiting for reply");
                ConnectionTestResponse response = null;
                for (int i = 0; i < 15; i++) {
                    response = responseProvider.getPayload(collector
                        .nextResult(1000));
                    if (response != null)
                        break;
                    progress.worked(1);
                }

                result.transferTime = watch.stop().getTime();

                if (response == null)
                    throw new XMPPException("Timeout after 15s");

                if (response.errorMessage != null)
                    throw new XMPPException("An remote error occurred: "
                        + response.errorMessage);

                int localDataHash = Arrays.hashCode(testData);
                if (response.dataHash != localDataHash)
                    throw new XMPPException(
                        "Hash results don't match: Received=="
                            + response.dataHash + " expected==" + localDataHash);

                result.mode = response.transferMode;

            } finally {
                collector.cancel();
            }

        } finally {
            progress.done();
        }
View Full Code Here

        }

        RTPBridge rtpPacket = new RTPBridge(sessionID);
        rtpPacket.setTo(RTPBridge.NAME + "." + connection.getServiceName());

        PacketCollector collector = connection
                .createPacketCollector(new PacketIDFilter(rtpPacket.getPacketID()));

        connection.sendPacket(rtpPacket);

        RTPBridge response = (RTPBridge) collector
                .nextResult(SmackConfiguration.getPacketReplyTimeout());

        // Cancel the collector.
        collector.cancel();

        return response;
    }
View Full Code Here

        rtpPacket.setHostA(localCandidate.getIp());
        rtpPacket.setHostB(proxyCandidate.getIp());

        // LOGGER.debug("Relayed to: " + candidate.getIp() + ":" + candidate.getPort());

        PacketCollector collector = connection
                .createPacketCollector(new PacketIDFilter(rtpPacket.getPacketID()));

        connection.sendPacket(rtpPacket);

        RTPBridge response = (RTPBridge) collector
                .nextResult(SmackConfiguration.getPacketReplyTimeout());

        // Cancel the collector.
        collector.cancel();

        return response;
    }
View Full Code Here

TOP

Related Classes of org.jivesoftware.smack.PacketCollector

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.