Example usage for io.netty.channel.socket DatagramPacket DatagramPacket

List of usage examples for io.netty.channel.socket DatagramPacket DatagramPacket

Introduction

In this page you can find the example usage for io.netty.channel.socket DatagramPacket DatagramPacket.

Prototype

public DatagramPacket(ByteBuf data, InetSocketAddress recipient, InetSocketAddress sender) 

Source Link

Document

Create a new instance with the specified packet data , recipient address, and sender address.

Usage

From source file:org.opendaylight.lispflowmapping.southbound.lisp.LispSouthboundServiceTest.java

License:Open Source License

@Test
@Ignore//from  w  w  w . jav a  2s .com
public void mapRegisterAndNotify__ValidExtraDataParsedSuccessfully() throws Exception {
    byte[] extraDataPacket = new byte[mapRegisterPacket.length + 3];
    extraDataPacket[mapRegisterPacket.length] = 0x9;
    System.arraycopy(mapRegisterPacket, 0, extraDataPacket, 0, mapRegisterPacket.length);
    stubMapRegister(true);

    DatagramPacket dp = new DatagramPacket(wrappedBuffer(extraDataPacket), new InetSocketAddress(0),
            new InetSocketAddress(0));
    testedLispService.handlePacket(dp);
    // Check map register fields.
    // XXX: test
    // byte[] notifyResult = testedLispService.handlePacket(dp).getData();
    byte[] notifyResult = lastMapNotifyPacket().content().array();
    assertEquals(mapRegisterPacket.length, notifyResult.length);

}

From source file:org.opendaylight.lispflowmapping.southbound.lisp.LispSouthboundServiceTest.java

License:Open Source License

private DatagramPacket lastMapReplyPacket() {
    ByteBuffer serialize = MapReplySerializer.getInstance().serialize(mapReplyBuilder.build());
    return new DatagramPacket(wrappedBuffer(serialize), new InetSocketAddress(0), new InetSocketAddress(0));
}

From source file:org.opendaylight.lispflowmapping.southbound.lisp.LispSouthboundServiceTest.java

License:Open Source License

private DatagramPacket lastMapNotifyPacket() {
    if (mapNotifyBuilder.getMappingRecordItem() == null) {
        mapNotifyBuilder.setMappingRecordItem(new ArrayList<MappingRecordItem>());
    }//  w w  w  . j  a v  a 2s.  c o  m
    mapNotifyBuilder.getMappingRecordItem()
            .add(new MappingRecordItemBuilder().setMappingRecord(mappingRecordBuilder.build()).build());
    mapNotifyBuilder.setNonce((long) 0);
    mapNotifyBuilder.setKeyId((short) 0);
    mapNotifyBuilder.setAuthenticationData(new byte[0]);
    ByteBuffer serialize = MapNotifySerializer.getInstance().serialize(mapNotifyBuilder.build());
    return new DatagramPacket(wrappedBuffer(serialize), new InetSocketAddress(0), new InetSocketAddress(0));
}

From source file:org.opendaylight.lispflowmapping.southbound.lisp.LispSouthboundServiceTest.java

License:Open Source License

private DatagramPacket handleMapRequestPacket(byte[] inPacket) {
    DatagramPacket dp = new DatagramPacket(wrappedBuffer(inPacket), new InetSocketAddress(0),
            new InetSocketAddress(0));
    // Unless we explicitly set the source port, it will be -1, which breaks some tests
    // This is till not the real port number, but it's better
    //dp.setPort(LispMessage.PORT_NUM);
    testedLispService.handlePacket(dp);/*from  w  w w  . j  a  v a  2  s.  c om*/
    return lastMapReplyPacket();
}

From source file:org.opendaylight.lispflowmapping.southbound.lisp.LispSouthboundServiceTest.java

License:Open Source License

private DatagramPacket handleMapRegisterPacket(byte[] inPacket) {
    DatagramPacket dp = new DatagramPacket(wrappedBuffer(inPacket), new InetSocketAddress(0),
            new InetSocketAddress(0));
    // Unless we explicitly set the source port, it will be -1, which breaks some tests
    // This is till not the real port number, but it's better
    //dp.setPort(LispMessage.PORT_NUM);
    testedLispService.handlePacket(dp);/*from   w w  w.j av a  2s  .c  om*/
    if (mapNotifyBuilder == null) {
        return null;
    } else {
        return lastMapNotifyPacket();
    }
}

From source file:org.opendaylight.lispflowmapping.southbound.lisp.LispSouthboundServiceTest.java

License:Open Source License

private DatagramPacket handlePacket(byte[] inPacket) {
    // TODO get from mock
    testedLispService.handlePacket(//from   w w w.  j a  v a  2s  .  c o m
            new DatagramPacket(wrappedBuffer(inPacket), new InetSocketAddress(0), new InetSocketAddress(0)));
    return null;
}

From source file:org.opendaylight.openflowjava.protocol.impl.core.OFDatagramPacketHandlerTest.java

License:Open Source License

/**
 * Test {@link OFDatagramPacketHandler}// w w w  .ja v  a 2  s.  c  o m
 */
@Test
public void test() {
    OFDatagramPacketHandler handler = new OFDatagramPacketHandler(switchConnHandler);
    byte version = EncodeConstants.OF13_VERSION_ID;
    ByteBuf messageBuffer = ByteBufUtils.hexStringToByteBuf("04 02 00 08 01 02 03 04");
    InetSocketAddress recipientISA = InetSocketAddress.createUnresolved("localhost", 9876);
    InetSocketAddress senderISA = InetSocketAddress.createUnresolved("192.168.15.24", 21021);
    DatagramPacket datagramPacket = new DatagramPacket(messageBuffer, recipientISA, senderISA);
    UdpConnectionMap.addConnection(datagramPacket.sender(), consumerMock);
    List<Object> outList = new ArrayList<>();
    try {
        handler.decode(ctxMock, datagramPacket, outList);
    } catch (Exception e) {
        Assert.fail("Wrong - Unexcepted exception occurred");
    }
    VersionMessageUdpWrapper versionUdpWrapper = (VersionMessageUdpWrapper) outList.get(0);
    Assert.assertEquals("Wrong - incorrect version has been decoded", version, versionUdpWrapper.getVersion());
    Assert.assertEquals("Wrong - sender addresses are different", senderISA, versionUdpWrapper.getAddress());
    messageBuffer.readerIndex(1);
    Assert.assertEquals("Wrong - undecoded part of input ByteBuff is differnt to output", 0,
            messageBuffer.compareTo(versionUdpWrapper.getMessageBuffer()));
}

From source file:org.opendaylight.openflowjava.protocol.impl.core.UdpConnectionMapTest.java

License:Open Source License

/**
 * Test {@link UdpConnectionMap} - sender address is not null
 *///from w w  w .ja va 2 s  . c  o m
@Test
public void testWithSenderAddress() {
    InetSocketAddress recipientISA = InetSocketAddress.createUnresolved("localhost", 9876);
    InetSocketAddress senderISA = InetSocketAddress.createUnresolved("192.168.15.2", 21021);
    DatagramPacket datagramPacket = new DatagramPacket(messageBuffer, recipientISA, senderISA);
    UdpConnectionMap.addConnection(datagramPacket.sender(), consumerMock);
    Assert.assertEquals("Wrong - different object has been returned", consumerMock,
            UdpConnectionMap.getMessageConsumer(datagramPacket.sender()));
    UdpConnectionMap.removeConnection(datagramPacket.sender());
    Assert.assertNull("Wrong - object has been returned after remove key-value pair",
            UdpConnectionMap.getMessageConsumer(datagramPacket.sender()));
}

From source file:org.restcomm.media.control.mgcp.network.netty.MgcpMessageEncoder.java

License:Open Source License

@Override
protected void encode(ChannelHandlerContext ctx, DefaultAddressedEnvelope<MgcpMessage, SocketAddress> msg,
        List<Object> out) throws Exception {
    final InetSocketAddress sender = (InetSocketAddress) msg.sender();
    final InetSocketAddress recipient = (InetSocketAddress) msg.recipient();
    final byte[] content = msg.content().toString().getBytes();
    final ByteBuf buffer = Unpooled.buffer(content.length).writeBytes(content);
    final DatagramPacket packet = new DatagramPacket(buffer, recipient, sender);

    if (log.isDebugEnabled()) {
        log.debug("Sending outgoing message to " + recipient.getHostString() + "\n" + msg.toString());
    }//  ww  w.jav a  2 s.  c o m

    out.add(packet);
}

From source file:org.traccar.handler.NetworkMessageHandler.java

License:Apache License

@Override
public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) {
    if (msg instanceof NetworkMessage) {
        NetworkMessage message = (NetworkMessage) msg;
        if (ctx.channel() instanceof DatagramChannel) {
            InetSocketAddress recipient = (InetSocketAddress) message.getRemoteAddress();
            InetSocketAddress sender = (InetSocketAddress) ctx.channel().localAddress();
            ctx.write(new DatagramPacket((ByteBuf) message.getMessage(), recipient, sender), promise);
        } else {//  ww w . j ava 2s  . c o m
            ctx.write(message.getMessage(), promise);
        }
    } else {
        ctx.write(msg, promise);
    }
}