Search in sources :

Example 1 with Future

use of com.navercorp.pinpoint.rpc.Future in project pinpoint by naver.

the class RequestManagerTest method testRemoveMessageFuture.

@Test
public void testRemoveMessageFuture() throws Exception {
    HashedWheelTimer timer = getTimer();
    RequestManager requestManager = new RequestManager(timer, 3000);
    try {
        RequestPacket packet = new RequestPacket(1, new byte[0]);
        DefaultFuture future = requestManager.register(packet, 2000);
        future.setFailure(new RuntimeException());
        Future nullFuture = requestManager.removeMessageFuture(packet.getRequestId());
        Assert.assertNull(nullFuture);
    } finally {
        requestManager.close();
        timer.stop();
    }
}
Also used : RequestPacket(com.navercorp.pinpoint.rpc.packet.RequestPacket) Future(com.navercorp.pinpoint.rpc.Future) DefaultFuture(com.navercorp.pinpoint.rpc.DefaultFuture) HashedWheelTimer(org.jboss.netty.util.HashedWheelTimer) DefaultFuture(com.navercorp.pinpoint.rpc.DefaultFuture) Test(org.junit.Test)

Example 2 with Future

use of com.navercorp.pinpoint.rpc.Future in project pinpoint by naver.

the class RequestManagerTest method testRegisterRequest.

@Test
public void testRegisterRequest() throws Exception {
    HashedWheelTimer timer = getTimer();
    RequestManager requestManager = new RequestManager(timer, 3000);
    try {
        RequestPacket packet = new RequestPacket(new byte[0]);
        final Future future = requestManager.register(packet, 50);
        TestAwaitUtils.await(new TestAwaitTaskUtils() {

            @Override
            public boolean checkCompleted() {
                return future.isReady();
            }
        }, 10, 200);
        Assert.assertTrue(future.isReady());
        Assert.assertFalse(future.isSuccess());
        Assert.assertTrue(future.getCause().getMessage().contains("timeout"));
        logger.debug(future.getCause().getMessage());
    } finally {
        requestManager.close();
        timer.stop();
    }
}
Also used : RequestPacket(com.navercorp.pinpoint.rpc.packet.RequestPacket) TestAwaitTaskUtils(com.navercorp.pinpoint.rpc.TestAwaitTaskUtils) Future(com.navercorp.pinpoint.rpc.Future) DefaultFuture(com.navercorp.pinpoint.rpc.DefaultFuture) HashedWheelTimer(org.jboss.netty.util.HashedWheelTimer) Test(org.junit.Test)

Example 3 with Future

use of com.navercorp.pinpoint.rpc.Future in project pinpoint by naver.

the class PinpointClientFactoryTest method throwWriteBufferFullExceptionTest.

@Test(expected = PinpointSocketException.class)
@Ignore
public void throwWriteBufferFullExceptionTest() {
    TestPinpointServerAcceptor testPinpointServerAcceptor = new TestPinpointServerAcceptor();
    int bindPort = testPinpointServerAcceptor.bind();
    int defaultWriteBufferHighWaterMark = clientFactory.getWriteBufferHighWaterMark();
    int defaultWriteBufferLowWaterMark = clientFactory.getWriteBufferLowWaterMark();
    try {
        clientFactory.setWriteBufferHighWaterMark(2);
        clientFactory.setWriteBufferLowWaterMark(1);
        PinpointClient client = clientFactory.connect("127.0.0.1", bindPort);
        List<Future> futureList = new ArrayList();
        for (int i = 0; i < 30; i++) {
            Future<ResponseMessage> requestFuture = client.request(new byte[20]);
            futureList.add(requestFuture);
        }
        for (Future future : futureList) {
            future.getResult();
        }
        PinpointRPCTestUtils.close(client);
    } finally {
        clientFactory.setWriteBufferHighWaterMark(defaultWriteBufferHighWaterMark);
        clientFactory.setWriteBufferLowWaterMark(defaultWriteBufferLowWaterMark);
        testPinpointServerAcceptor.close();
    }
}
Also used : TestPinpointServerAcceptor(com.navercorp.pinpoint.test.server.TestPinpointServerAcceptor) ArrayList(java.util.ArrayList) Future(com.navercorp.pinpoint.rpc.Future) ChannelFuture(org.jboss.netty.channel.ChannelFuture) ResponseMessage(com.navercorp.pinpoint.rpc.ResponseMessage) Ignore(org.junit.Ignore) Test(org.junit.Test)

Example 4 with Future

use of com.navercorp.pinpoint.rpc.Future in project pinpoint by naver.

the class ReconnectTest method scheduledConnectStateTest.

@Test
public void scheduledConnectStateTest() {
    int availableTcpPort = SocketUtils.findAvailableTcpPort(47000);
    PinpointClient client = clientFactory.scheduledConnect("localhost", availableTcpPort);
    client.send(new byte[10]);
    try {
        Future future = client.sendAsync(new byte[10]);
        future.await();
        future.getResult();
        Assert.fail();
    } catch (PinpointSocketException e) {
    }
    try {
        client.sendSync(new byte[10]);
        Assert.fail();
    } catch (PinpointSocketException e) {
    }
    try {
        PinpointRPCTestUtils.request(client, new byte[10]);
        Assert.fail();
    } catch (PinpointSocketException e) {
    }
    PinpointRPCTestUtils.close(client);
}
Also used : PinpointSocketException(com.navercorp.pinpoint.rpc.PinpointSocketException) Future(com.navercorp.pinpoint.rpc.Future) Test(org.junit.Test)

Example 5 with Future

use of com.navercorp.pinpoint.rpc.Future in project pinpoint by naver.

the class TcpDataSender method doSend.

private void doSend(byte[] copy) {
    Future write = this.client.sendAsync(copy);
    write.setListener(writeFailFutureListener);
}
Also used : Future(com.navercorp.pinpoint.rpc.Future)

Aggregations

Future (com.navercorp.pinpoint.rpc.Future)6 Test (org.junit.Test)4 DefaultFuture (com.navercorp.pinpoint.rpc.DefaultFuture)2 ResponseMessage (com.navercorp.pinpoint.rpc.ResponseMessage)2 RequestPacket (com.navercorp.pinpoint.rpc.packet.RequestPacket)2 HashedWheelTimer (org.jboss.netty.util.HashedWheelTimer)2 PinpointSocket (com.navercorp.pinpoint.rpc.PinpointSocket)1 PinpointSocketException (com.navercorp.pinpoint.rpc.PinpointSocketException)1 TestAwaitTaskUtils (com.navercorp.pinpoint.rpc.TestAwaitTaskUtils)1 TestPinpointServerAcceptor (com.navercorp.pinpoint.test.server.TestPinpointServerAcceptor)1 TCommandTransfer (com.navercorp.pinpoint.thrift.dto.command.TCommandTransfer)1 DefaultPinpointRouteResponse (com.navercorp.pinpoint.web.cluster.DefaultPinpointRouteResponse)1 FailedPinpointRouteResponse (com.navercorp.pinpoint.web.cluster.FailedPinpointRouteResponse)1 PinpointRouteResponse (com.navercorp.pinpoint.web.cluster.PinpointRouteResponse)1 AgentInfo (com.navercorp.pinpoint.web.vo.AgentInfo)1 ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 Map (java.util.Map)1 ChannelFuture (org.jboss.netty.channel.ChannelFuture)1 Ignore (org.junit.Ignore)1