Example usage for io.netty.buffer UnpooledByteBufAllocator DEFAULT

List of usage examples for io.netty.buffer UnpooledByteBufAllocator DEFAULT

Introduction

In this page you can find the example usage for io.netty.buffer UnpooledByteBufAllocator DEFAULT.

Prototype

UnpooledByteBufAllocator DEFAULT

To view the source code for io.netty.buffer UnpooledByteBufAllocator DEFAULT.

Click Source Link

Document

Default instance which uses leak-detection for direct buffers.

Usage

From source file:org.opendaylight.openflowjava.protocol.impl.util.OF13MatchSerializerTest.java

License:Open Source License

/**
 * Test serialize experimenter match entry - with no experimenter
 * match entry serializer registered/*from  w w  w .  j  a  va 2s.c o m*/
 */
@Test(expected = IllegalStateException.class)
public void testSerializeExperimenterMatchEntry() {
    List<MatchEntry> entries = new ArrayList<>();
    MatchEntryBuilder builder = new MatchEntryBuilder();
    builder.setOxmClass(ExperimenterClass.class);
    builder.setOxmMatchField(OxmMatchFieldClass.class);
    builder.setHasMask(true);
    ExperimenterIdCaseBuilder caseBuilder = new ExperimenterIdCaseBuilder();
    ExperimenterBuilder expBuilder = new ExperimenterBuilder();
    expBuilder.setExperimenter(new ExperimenterId(42L));
    caseBuilder.setExperimenter(expBuilder.build());
    builder.setMatchEntryValue(caseBuilder.build());
    entries.add(builder.build());
    ByteBuf out = UnpooledByteBufAllocator.DEFAULT.buffer();

    ((OF13MatchSerializer) matchSerializer).serializeMatchEntries(entries, out);
}

From source file:org.opendaylight.openflowjava.protocol.impl.util.OF13MatchSerializerTest2.java

License:Open Source License

/**
 * Testing serialization of match//from w  w w.  jav a  2 s  .c o  m
 */
@Test
public void test() {
    MatchBuilder builder = new MatchBuilder();
    builder.setType(OxmMatchType.class);
    List<MatchEntries> entries = new ArrayList<>();
    MatchEntriesBuilder entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(InPort.class);
    entryBuilder.setHasMask(false);
    PortNumberMatchEntryBuilder portNumberBuilder = new PortNumberMatchEntryBuilder();
    portNumberBuilder.setPortNumber(new PortNumber(42L));
    entryBuilder.addAugmentation(PortNumberMatchEntry.class, portNumberBuilder.build());
    entries.add(entryBuilder.build());
    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(InPhyPort.class);
    entryBuilder.setHasMask(false);
    portNumberBuilder = new PortNumberMatchEntryBuilder();
    portNumberBuilder.setPortNumber(new PortNumber(43L));
    entryBuilder.addAugmentation(PortNumberMatchEntry.class, portNumberBuilder.build());
    entries.add(entryBuilder.build());
    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(Metadata.class);
    entryBuilder.setHasMask(true);
    MetadataMatchEntryBuilder metadataBuilder = new MetadataMatchEntryBuilder();
    metadataBuilder.setMetadata(new byte[] { 0, 0, 0, 0, 0, 0, 0, 1 });
    entryBuilder.addAugmentation(MetadataMatchEntry.class, metadataBuilder.build());
    MaskMatchEntryBuilder maskBuilder = new MaskMatchEntryBuilder();
    maskBuilder.setMask(new byte[] { 0, 0, 0, 0, 0, 0, 0, 2 });
    entryBuilder.addAugmentation(MaskMatchEntry.class, maskBuilder.build());
    entries.add(entryBuilder.build());
    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(EthDst.class);
    entryBuilder.setHasMask(true);
    MacAddressMatchEntryBuilder macBuilder = new MacAddressMatchEntryBuilder();
    macBuilder.setMacAddress(new MacAddress("01:00:03:00:00:06"));
    entryBuilder.addAugmentation(MacAddressMatchEntry.class, macBuilder.build());
    maskBuilder = new MaskMatchEntryBuilder();
    maskBuilder.setMask(new byte[] { 0, 0, 0, 0, 0, 5 });
    entryBuilder.addAugmentation(MaskMatchEntry.class, maskBuilder.build());
    entries.add(entryBuilder.build());
    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(EthSrc.class);
    entryBuilder.setHasMask(true);
    macBuilder = new MacAddressMatchEntryBuilder();
    macBuilder.setMacAddress(new MacAddress("04:00:02:00:00:08"));
    entryBuilder.addAugmentation(MacAddressMatchEntry.class, macBuilder.build());
    maskBuilder = new MaskMatchEntryBuilder();
    maskBuilder.setMask(new byte[] { 0, 0, 0, 0, 0, 2 });
    entryBuilder.addAugmentation(MaskMatchEntry.class, maskBuilder.build());
    entries.add(entryBuilder.build());
    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(EthType.class);
    entryBuilder.setHasMask(false);
    EthTypeMatchEntryBuilder ethBuilder = new EthTypeMatchEntryBuilder();
    ethBuilder.setEthType(new EtherType(46));
    entryBuilder.addAugmentation(EthTypeMatchEntry.class, ethBuilder.build());
    entries.add(entryBuilder.build());
    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(VlanVid.class);
    entryBuilder.setHasMask(true);
    VlanVidMatchEntryBuilder vidBuilder = new VlanVidMatchEntryBuilder();
    vidBuilder.setCfiBit(true);
    vidBuilder.setVlanVid(45);
    entryBuilder.addAugmentation(VlanVidMatchEntry.class, vidBuilder.build());
    maskBuilder = new MaskMatchEntryBuilder();
    maskBuilder.setMask(new byte[] { 0, 9 });
    entryBuilder.addAugmentation(MaskMatchEntry.class, maskBuilder.build());
    entries.add(entryBuilder.build());
    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(VlanPcp.class);
    entryBuilder.setHasMask(false);
    VlanPcpMatchEntryBuilder pcpBuilder = new VlanPcpMatchEntryBuilder();
    pcpBuilder.setVlanPcp((short) 14);
    entryBuilder.addAugmentation(VlanPcpMatchEntry.class, pcpBuilder.build());
    entries.add(entryBuilder.build());
    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(IpDscp.class);
    entryBuilder.setHasMask(false);
    DscpMatchEntryBuilder dscpBuilder = new DscpMatchEntryBuilder();
    dscpBuilder.setDscp(new Dscp((short) 48));
    entryBuilder.addAugmentation(DscpMatchEntry.class, dscpBuilder.build());
    entries.add(entryBuilder.build());
    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(IpEcn.class);
    entryBuilder.setHasMask(false);
    EcnMatchEntryBuilder ecnBuilder = new EcnMatchEntryBuilder();
    ecnBuilder.setEcn((short) 49);
    entryBuilder.addAugmentation(EcnMatchEntry.class, ecnBuilder.build());
    entries.add(entryBuilder.build());
    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(IpProto.class);
    entryBuilder.setHasMask(false);
    ProtocolNumberMatchEntryBuilder protoBuilder = new ProtocolNumberMatchEntryBuilder();
    protoBuilder.setProtocolNumber((short) 50);
    entryBuilder.addAugmentation(ProtocolNumberMatchEntry.class, protoBuilder.build());
    entries.add(entryBuilder.build());
    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(Ipv4Src.class);
    entryBuilder.setHasMask(true);
    Ipv4AddressMatchEntryBuilder ipv4Builder = new Ipv4AddressMatchEntryBuilder();
    ipv4Builder.setIpv4Address(new Ipv4Address("10.0.0.1"));
    entryBuilder.addAugmentation(Ipv4AddressMatchEntry.class, ipv4Builder.build());
    maskBuilder = new MaskMatchEntryBuilder();
    maskBuilder.setMask(new byte[] { 0, 0, 0, 14 });
    entryBuilder.addAugmentation(MaskMatchEntry.class, maskBuilder.build());
    entries.add(entryBuilder.build());
    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(Ipv4Dst.class);
    entryBuilder.setHasMask(true);
    ipv4Builder = new Ipv4AddressMatchEntryBuilder();
    ipv4Builder.setIpv4Address(new Ipv4Address("10.0.0.2"));
    entryBuilder.addAugmentation(Ipv4AddressMatchEntry.class, ipv4Builder.build());
    maskBuilder = new MaskMatchEntryBuilder();
    maskBuilder.setMask(new byte[] { 0, 0, 0, 15 });
    entryBuilder.addAugmentation(MaskMatchEntry.class, maskBuilder.build());
    entries.add(entryBuilder.build());
    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(TcpSrc.class);
    entryBuilder.setHasMask(false);
    PortMatchEntryBuilder portBuilder = new PortMatchEntryBuilder();
    portBuilder.setPort(
            new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.PortNumber(
                    6653));
    entryBuilder.addAugmentation(PortMatchEntry.class, portBuilder.build());
    entries.add(entryBuilder.build());
    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(TcpDst.class);
    entryBuilder.setHasMask(false);
    portBuilder = new PortMatchEntryBuilder();
    portBuilder.setPort(
            new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.PortNumber(
                    6654));
    entryBuilder.addAugmentation(PortMatchEntry.class, portBuilder.build());
    entries.add(entryBuilder.build());
    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(UdpSrc.class);
    entryBuilder.setHasMask(false);
    portBuilder = new PortMatchEntryBuilder();
    portBuilder.setPort(
            new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.PortNumber(
                    6655));
    entryBuilder.addAugmentation(PortMatchEntry.class, portBuilder.build());
    entries.add(entryBuilder.build());
    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(UdpDst.class);
    entryBuilder.setHasMask(false);
    portBuilder = new PortMatchEntryBuilder();
    portBuilder.setPort(
            new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.PortNumber(
                    6656));
    entryBuilder.addAugmentation(PortMatchEntry.class, portBuilder.build());
    entries.add(entryBuilder.build());
    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(SctpSrc.class);
    entryBuilder.setHasMask(false);
    portBuilder = new PortMatchEntryBuilder();
    portBuilder.setPort(
            new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.PortNumber(
                    6657));
    entryBuilder.addAugmentation(PortMatchEntry.class, portBuilder.build());
    entries.add(entryBuilder.build());
    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(SctpDst.class);
    entryBuilder.setHasMask(false);
    portBuilder = new PortMatchEntryBuilder();
    portBuilder.setPort(
            new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.PortNumber(
                    6658));
    entryBuilder.addAugmentation(PortMatchEntry.class, portBuilder.build());
    entries.add(entryBuilder.build());
    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(Icmpv4Type.class);
    entryBuilder.setHasMask(false);
    Icmpv4TypeMatchEntryBuilder icmpv4typeBuilder = new Icmpv4TypeMatchEntryBuilder();
    icmpv4typeBuilder.setIcmpv4Type((short) 51);
    entryBuilder.addAugmentation(Icmpv4TypeMatchEntry.class, icmpv4typeBuilder.build());
    entries.add(entryBuilder.build());
    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(Icmpv4Code.class);
    entryBuilder.setHasMask(false);
    Icmpv4CodeMatchEntryBuilder icmpv4CodeBuilder = new Icmpv4CodeMatchEntryBuilder();
    icmpv4CodeBuilder.setIcmpv4Code((short) 52);
    entryBuilder.addAugmentation(Icmpv4CodeMatchEntry.class, icmpv4CodeBuilder.build());
    entries.add(entryBuilder.build());
    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(ArpOp.class);
    entryBuilder.setHasMask(false);
    OpCodeMatchEntryBuilder opBuilder = new OpCodeMatchEntryBuilder();
    opBuilder.setOpCode(53);
    entryBuilder.addAugmentation(OpCodeMatchEntry.class, opBuilder.build());
    entries.add(entryBuilder.build());
    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(ArpSpa.class);
    entryBuilder.setHasMask(true);
    ipv4Builder = new Ipv4AddressMatchEntryBuilder();
    ipv4Builder.setIpv4Address(new Ipv4Address("10.0.0.4"));
    entryBuilder.addAugmentation(Ipv4AddressMatchEntry.class, ipv4Builder.build());
    maskBuilder = new MaskMatchEntryBuilder();
    maskBuilder.setMask(new byte[] { 0, 0, 0, 16 });
    entryBuilder.addAugmentation(MaskMatchEntry.class, maskBuilder.build());
    entries.add(entryBuilder.build());
    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(ArpTpa.class);
    entryBuilder.setHasMask(true);
    ipv4Builder = new Ipv4AddressMatchEntryBuilder();
    ipv4Builder.setIpv4Address(new Ipv4Address("10.0.0.5"));
    entryBuilder.addAugmentation(Ipv4AddressMatchEntry.class, ipv4Builder.build());
    maskBuilder = new MaskMatchEntryBuilder();
    maskBuilder.setMask(new byte[] { 0, 0, 0, 17 });
    entryBuilder.addAugmentation(MaskMatchEntry.class, maskBuilder.build());
    entries.add(entryBuilder.build());
    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(ArpSha.class);
    entryBuilder.setHasMask(true);
    macBuilder = new MacAddressMatchEntryBuilder();
    macBuilder.setMacAddress(new MacAddress("00:01:02:03:04:05"));
    entryBuilder.addAugmentation(MacAddressMatchEntry.class, macBuilder.build());
    maskBuilder = new MaskMatchEntryBuilder();
    maskBuilder.setMask(new byte[] { 0, 0, 4, 0, 0, 6 });
    entryBuilder.addAugmentation(MaskMatchEntry.class, maskBuilder.build());
    entries.add(entryBuilder.build());
    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(ArpTha.class);
    entryBuilder.setHasMask(true);
    macBuilder = new MacAddressMatchEntryBuilder();
    macBuilder.setMacAddress(new MacAddress("00:00:00:00:00:03"));
    entryBuilder.addAugmentation(MacAddressMatchEntry.class, macBuilder.build());
    maskBuilder = new MaskMatchEntryBuilder();
    maskBuilder.setMask(new byte[] { 0, 0, 6, 0, 0, 4 });
    entryBuilder.addAugmentation(MaskMatchEntry.class, maskBuilder.build());
    entries.add(entryBuilder.build());
    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(Ipv6Src.class);
    entryBuilder.setHasMask(true);
    Ipv6AddressMatchEntryBuilder ipv6Builder = new Ipv6AddressMatchEntryBuilder();
    ipv6Builder.setIpv6Address(new Ipv6Address("0:0:0:0:0:0:0:1"));
    entryBuilder.addAugmentation(Ipv6AddressMatchEntry.class, ipv6Builder.build());
    maskBuilder = new MaskMatchEntryBuilder();
    maskBuilder.setMask(new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 });
    entryBuilder.addAugmentation(MaskMatchEntry.class, maskBuilder.build());
    entries.add(entryBuilder.build());
    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(Ipv6Dst.class);
    entryBuilder.setHasMask(true);
    ipv6Builder = new Ipv6AddressMatchEntryBuilder();
    ipv6Builder.setIpv6Address(new Ipv6Address("0:0:1:0:1:0:0:1"));
    entryBuilder.addAugmentation(Ipv6AddressMatchEntry.class, ipv6Builder.build());
    maskBuilder = new MaskMatchEntryBuilder();
    maskBuilder.setMask(new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1 });
    entryBuilder.addAugmentation(MaskMatchEntry.class, maskBuilder.build());
    entries.add(entryBuilder.build());
    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(Ipv6Flabel.class);
    entryBuilder.setHasMask(true);
    Ipv6FlabelMatchEntryBuilder flabelBuilder = new Ipv6FlabelMatchEntryBuilder();
    flabelBuilder.setIpv6Flabel(new Ipv6FlowLabel(58L));
    entryBuilder.addAugmentation(Ipv6FlabelMatchEntry.class, flabelBuilder.build());
    maskBuilder = new MaskMatchEntryBuilder();
    maskBuilder.setMask(new byte[] { 0, 1, 0, 2 });
    entryBuilder.addAugmentation(MaskMatchEntry.class, maskBuilder.build());
    entries.add(entryBuilder.build());
    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(Icmpv6Type.class);
    entryBuilder.setHasMask(false);
    Icmpv6TypeMatchEntryBuilder icmpv6TypeBuilder = new Icmpv6TypeMatchEntryBuilder();
    icmpv6TypeBuilder.setIcmpv6Type((short) 59);
    entryBuilder.addAugmentation(Icmpv6TypeMatchEntry.class, icmpv6TypeBuilder.build());
    entries.add(entryBuilder.build());
    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(Icmpv6Code.class);
    entryBuilder.setHasMask(false);
    Icmpv6CodeMatchEntryBuilder icmpv6CodeBuilder = new Icmpv6CodeMatchEntryBuilder();
    icmpv6CodeBuilder.setIcmpv6Code((short) 60);
    entryBuilder.addAugmentation(Icmpv6CodeMatchEntry.class, icmpv6CodeBuilder.build());
    entries.add(entryBuilder.build());
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(Ipv6NdTarget.class);
    entryBuilder.setHasMask(false);
    ipv6Builder = new Ipv6AddressMatchEntryBuilder();
    ipv6Builder.setIpv6Address(new Ipv6Address("F:0:0::0:0:0:1"));
    entryBuilder.addAugmentation(Ipv6AddressMatchEntry.class, ipv6Builder.build());
    entries.add(entryBuilder.build());
    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(Ipv6NdSll.class);
    entryBuilder.setHasMask(false);
    macBuilder = new MacAddressMatchEntryBuilder();
    macBuilder.setMacAddress(new MacAddress("01:00:03:00:00:06"));
    entryBuilder.addAugmentation(MacAddressMatchEntry.class, macBuilder.build());
    entries.add(entryBuilder.build());
    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(Ipv6NdTll.class);
    entryBuilder.setHasMask(false);
    macBuilder = new MacAddressMatchEntryBuilder();
    macBuilder.setMacAddress(new MacAddress("04:00:02:00:00:08"));
    entryBuilder.addAugmentation(MacAddressMatchEntry.class, macBuilder.build());
    entries.add(entryBuilder.build());
    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(MplsLabel.class);
    entryBuilder.setHasMask(false);
    MplsLabelMatchEntryBuilder labelBuilder = new MplsLabelMatchEntryBuilder();
    labelBuilder.setMplsLabel(61L);
    entryBuilder.addAugmentation(MplsLabelMatchEntry.class, labelBuilder.build());
    entries.add(entryBuilder.build());
    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(MplsTc.class);
    entryBuilder.setHasMask(false);
    TcMatchEntryBuilder tcBuilder = new TcMatchEntryBuilder();
    tcBuilder.setTc((short) 62);
    entryBuilder.addAugmentation(TcMatchEntry.class, tcBuilder.build());
    entries.add(entryBuilder.build());
    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(MplsBos.class);
    entryBuilder.setHasMask(false);
    BosMatchEntryBuilder bosBuilder = new BosMatchEntryBuilder();
    bosBuilder.setBos(true);
    entryBuilder.addAugmentation(BosMatchEntry.class, bosBuilder.build());
    entries.add(entryBuilder.build());

    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(PbbIsid.class);
    entryBuilder.setHasMask(true);
    IsidMatchEntryBuilder isidBuilder = new IsidMatchEntryBuilder();
    isidBuilder.setIsid(64L);
    entryBuilder.addAugmentation(IsidMatchEntry.class, isidBuilder.build());
    maskBuilder = new MaskMatchEntryBuilder();
    maskBuilder.setMask(new byte[] { 0, 1, 2 });
    entryBuilder.addAugmentation(MaskMatchEntry.class, maskBuilder.build());
    entries.add(entryBuilder.build());

    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(TunnelId.class);
    entryBuilder.setHasMask(true);
    metadataBuilder = new MetadataMatchEntryBuilder();
    metadataBuilder.setMetadata(new byte[] { 0, 0, 0, 0, 0, 0, 0, 1 });
    entryBuilder.addAugmentation(MetadataMatchEntry.class, metadataBuilder.build());
    maskBuilder = new MaskMatchEntryBuilder();
    maskBuilder.setMask(new byte[] { 0, 0, 0, 0, 0, 0, 0, 2 });
    entryBuilder.addAugmentation(MaskMatchEntry.class, maskBuilder.build());
    entries.add(entryBuilder.build());

    entryBuilder = new MatchEntriesBuilder();
    entryBuilder.setOxmClass(OpenflowBasicClass.class);
    entryBuilder.setOxmMatchField(Ipv6Exthdr.class);
    entryBuilder.setHasMask(true);
    PseudoFieldMatchEntryBuilder pseudoBuilder = new PseudoFieldMatchEntryBuilder();
    pseudoBuilder.setPseudoField(new Ipv6ExthdrFlags(true, false, true, false, true, false, true, false, true));
    entryBuilder.addAugmentation(PseudoFieldMatchEntry.class, pseudoBuilder.build());
    maskBuilder = new MaskMatchEntryBuilder();
    maskBuilder.setMask(new byte[] { 0, 2 });
    entryBuilder.addAugmentation(MaskMatchEntry.class, maskBuilder.build());
    entries.add(entryBuilder.build());

    builder.setMatchEntries(entries);
    Match match = builder.build();

    ByteBuf out = UnpooledByteBufAllocator.DEFAULT.buffer();
    matchSerializer.serialize(match, out);

    Assert.assertEquals("Wrong match type", 1, out.readUnsignedShort());
    Assert.assertEquals("Wrong match length", 428, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 0, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 4, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry value", 42, out.readUnsignedInt());
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 2, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 4, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry value", 43, out.readUnsignedInt());
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 5, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 16, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry value", 1L, out.readLong());
    Assert.assertEquals("Wrong match entry mask", 2L, out.readLong());
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 7, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 12, out.readUnsignedByte());
    byte[] array = new byte[6];
    out.readBytes(array);
    Assert.assertArrayEquals("Wrong match entry value", new byte[] { 1, 0, 3, 0, 0, 6 }, array);
    array = new byte[6];
    out.readBytes(array);
    Assert.assertArrayEquals("Wrong match entry mask", new byte[] { 0, 0, 0, 0, 0, 5 }, array);
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 9, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 12, out.readUnsignedByte());
    array = new byte[6];
    out.readBytes(array);
    Assert.assertArrayEquals("Wrong match entry value", new byte[] { 4, 0, 2, 0, 0, 8 }, array);
    array = new byte[6];
    out.readBytes(array);
    Assert.assertArrayEquals("Wrong match entry mask", new byte[] { 0, 0, 0, 0, 0, 2 }, array);
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 10, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 2, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry value", 46, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 13, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 4, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry value", 4141, out.readUnsignedShort());
    array = new byte[2];
    out.readBytes(array);
    Assert.assertArrayEquals("Wrong match entry mask", new byte[] { 0, 9 }, array);
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 14, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 1, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry value", 14, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 16, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 1, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry value", 48, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 18, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 1, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry value", 49, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 20, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 1, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry value", 50, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 23, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 8, out.readUnsignedByte());
    array = new byte[4];
    out.readBytes(array);
    Assert.assertArrayEquals("Wrong match entry value", new byte[] { 10, 0, 0, 1 }, array);
    array = new byte[4];
    out.readBytes(array);
    Assert.assertArrayEquals("Wrong match entry mask", new byte[] { 0, 0, 0, 14 }, array);
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 25, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 8, out.readUnsignedByte());
    array = new byte[4];
    out.readBytes(array);
    Assert.assertArrayEquals("Wrong match entry value", new byte[] { 10, 0, 0, 2 }, array);
    array = new byte[4];
    out.readBytes(array);
    Assert.assertArrayEquals("Wrong match entry mask", new byte[] { 0, 0, 0, 15 }, array);
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 26, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 2, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry value", 6653, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 28, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 2, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry value", 6654, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 30, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 2, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry value", 6655, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 32, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 2, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry value", 6656, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 34, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 2, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry value", 6657, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 36, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 2, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry value", 6658, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 38, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 1, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry value", 51, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 40, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 1, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry value", 52, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 42, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 2, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry value", 53, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 45, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 8, out.readUnsignedByte());
    array = new byte[4];
    out.readBytes(array);
    Assert.assertArrayEquals("Wrong match entry value", new byte[] { 10, 0, 0, 4 }, array);
    array = new byte[4];
    out.readBytes(array);
    Assert.assertArrayEquals("Wrong match entry mask", new byte[] { 0, 0, 0, 16 }, array);
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 47, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 8, out.readUnsignedByte());
    array = new byte[4];
    out.readBytes(array);
    Assert.assertArrayEquals("Wrong match entry value", new byte[] { 10, 0, 0, 5 }, array);
    array = new byte[4];
    out.readBytes(array);
    Assert.assertArrayEquals("Wrong match entry mask", new byte[] { 0, 0, 0, 17 }, array);
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 49, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 12, out.readUnsignedByte());
    array = new byte[6];
    out.readBytes(array);
    Assert.assertArrayEquals("Wrong match entry value", new byte[] { 0, 1, 2, 3, 4, 5 }, array);
    array = new byte[6];
    out.readBytes(array);
    Assert.assertArrayEquals("Wrong match entry mask", new byte[] { 0, 0, 4, 0, 0, 6 }, array);
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 51, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 12, out.readUnsignedByte());
    array = new byte[6];
    out.readBytes(array);
    Assert.assertArrayEquals("Wrong match entry value", new byte[] { 0, 0, 0, 0, 0, 3 }, array);
    array = new byte[6];
    out.readBytes(array);
    Assert.assertArrayEquals("Wrong match entry mask", new byte[] { 0, 0, 6, 0, 0, 4 }, array);
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 53, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 32, out.readUnsignedByte());
    array = new byte[16];
    out.readBytes(array);
    Assert.assertArrayEquals("Wrong match entry value",
            new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, array);
    array = new byte[16];
    out.readBytes(array);
    Assert.assertArrayEquals("Wrong match entry mask",
            new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, array);
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 55, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 32, out.readUnsignedByte());
    array = new byte[16];
    out.readBytes(array);
    Assert.assertArrayEquals("Wrong match entry value",
            new byte[] { 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 }, array);
    array = new byte[16];
    out.readBytes(array);
    Assert.assertArrayEquals("Wrong match entry mask",
            new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1 }, array);
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 57, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 8, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry value", 58, out.readUnsignedInt());
    array = new byte[4];
    out.readBytes(array);
    Assert.assertArrayEquals("Wrong match entry mask", new byte[] { 0, 1, 0, 2 }, array);
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 58, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 1, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry value", 59, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 60, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 1, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry value", 60, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 62, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 16, out.readUnsignedByte());
    array = new byte[16];
    out.readBytes(array);
    Assert.assertArrayEquals("Wrong match entry value",
            new byte[] { 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, array);
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 64, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 6, out.readUnsignedByte());
    array = new byte[6];
    out.readBytes(array);
    Assert.assertArrayEquals("Wrong match entry value", new byte[] { 1, 0, 3, 0, 0, 6 }, array);
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 66, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 6, out.readUnsignedByte());
    array = new byte[6];
    out.readBytes(array);
    Assert.assertArrayEquals("Wrong match entry value", new byte[] { 4, 0, 2, 0, 0, 8 }, array);
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 68, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 4, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry value", 61, out.readUnsignedInt());
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 70, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 1, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry value", 62, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 72, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 1, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry value", 1, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 75, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 6, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry value", 64, out.readUnsignedMedium());
    array = new byte[3];
    out.readBytes(array);
    Assert.assertArrayEquals("Wrong match entry mask", new byte[] { 0, 1, 2 }, array);
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 77, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 16, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry value", 1L, out.readLong());
    Assert.assertEquals("Wrong match entry mask", 2L, out.readLong());
    Assert.assertEquals("Wrong match entry class", 0x8000, out.readUnsignedShort());
    Assert.assertEquals("Wrong match entry field & hasMask", 79, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry length", 4, out.readUnsignedByte());
    Assert.assertEquals("Wrong match entry value", 358, out.readUnsignedShort());
    array = new byte[2];
    out.readBytes(array);
    Assert.assertArrayEquals("Wrong match entry value", new byte[] { 0, 2 }, array);
    Assert.assertTrue("Wrong padding", out.readableBytes() == 4);
}

From source file:org.opendaylight.openflowjava.util.ByteBufUtils.java

License:Open Source License

/**
 * Creates ByteBuf filled with specified data
 * @param hexSrc input String of bytes in hex format
 * @return ByteBuf with specified hexString converted
 *///from  w  ww  .ja v  a  2 s.  c o m
public static ByteBuf hexStringToByteBuf(final String hexSrc) {
    ByteBuf out = UnpooledByteBufAllocator.DEFAULT.buffer();
    hexStringToByteBuf(hexSrc, out);
    return out;
}

From source file:org.opendaylight.openflowplugin.impl.translator.OfMessageReceivedTranslator.java

License:Open Source License

private byte[] serialize(DataObject msg, short ofVersion) {
    SerializationFactory factory = new SerializationFactory();
    SerializerRegistry registry = new SerializerRegistryImpl();
    registry.init();/*from  w w  w .  ja v a 2s.com*/
    ByteBuf output = UnpooledByteBufAllocator.DEFAULT.buffer();
    factory.setSerializerTable(registry);
    try {
        factory.messageToBuffer(ofVersion, output, msg);
        byte[] bytes = new byte[output.readableBytes()];
        output.readBytes(bytes);
        return bytes;
    } catch (NullPointerException ex) {
        LOG.debug("Error in serializing message. OpenFlow message is malformed.");
        return new byte[0];
    }
}

From source file:org.wildfly.swarm.helloworld.chaining.hello.HolaFallbackHandler.java

License:Apache License

@Override
public Observable<ByteBuf> getFallback(HystrixInvokableInfo<?> hystrixInvokableInfo,
        Map<String, Object> requestProps) {
    byte[] bytes = ("Hola " + requestProps.get("name") + " (Fallback!)").getBytes();
    ByteBuf byteBuf = UnpooledByteBufAllocator.DEFAULT.buffer(bytes.length);
    byteBuf.writeBytes(bytes);//from  w ww . j  av a 2  s .  c o m
    return Observable.just(byteBuf);
}

From source file:org.wildfly.swarm.helloworld.chaining.hola.OlaFallbackHandler.java

License:Apache License

@Override
public Observable<ByteBuf> getFallback(HystrixInvokableInfo<?> hystrixInvokableInfo,
        Map<String, Object> requestProps) {
    byte[] bytes = ("Ola " + requestProps.get("name") + " (Fallback!)").getBytes();
    ByteBuf byteBuf = UnpooledByteBufAllocator.DEFAULT.buffer(bytes.length);
    byteBuf.writeBytes(bytes);//from  w w  w. ja va2 s. c om
    return Observable.just(byteBuf);
}

From source file:org.wildfly.swarm.helloworld.chaining.ola.AlohaFallbackHandler.java

License:Apache License

@Override
public Observable<ByteBuf> getFallback(HystrixInvokableInfo<?> hystrixInvokableInfo,
        Map<String, Object> requestProps) {
    byte[] bytes = ("Aloha " + requestProps.get("name") + " (Fallback!)").getBytes();
    ByteBuf byteBuf = UnpooledByteBufAllocator.DEFAULT.buffer(bytes.length);
    byteBuf.writeBytes(bytes);//w  w w  . j av  a  2  s . c  o m
    return Observable.just(byteBuf);
}

From source file:ratpack.reload.internal.ReloadableFileBackedFactory.java

License:Apache License

private boolean isBytesAreSame() throws IOException {
    lock.lock();/* w w w. j av a 2 s.  co  m*/
    try {
        ByteBuf existing = contentHolder.get();
        //noinspection SimplifiableIfStatement
        if (existing == null) {
            return false;
        }

        return IoUtils.read(UnpooledByteBufAllocator.DEFAULT, file).equals(existing);
    } finally {
        lock.unlock();
    }
}

From source file:ratpack.reload.internal.ReloadableFileBackedFactory.java

License:Apache License

private void refresh() throws Exception {
    lock.lock();//  w w  w.j a  v  a2 s.  c  o  m
    try {
        FileTime lastModifiedTime = Files.getLastModifiedTime(file);
        ByteBuf bytes = IoUtils.read(UnpooledByteBufAllocator.DEFAULT, file);

        if (lastModifiedTime.equals(lastModifiedHolder.get()) && bytes.equals(contentHolder.get())) {
            return;
        }

        T previous = delegateHolder.getAndSet(null);
        if (previous != null) {
            releaser.release(previous);
        }
        delegateHolder.set(producer.produce(file, bytes));

        this.lastModifiedHolder.set(lastModifiedTime);
        this.contentHolder.set(bytes);
    } finally {
        lock.unlock();
    }
}

From source file:ratpack.rocker.internal.DefaultRockerRenderer.java

License:Apache License

@Override
public void render(Context context, RockerModel rockerModel) throws Exception {
    try {/*  w  ww .  j  a  va2  s  . c om*/
        ArrayOfByteArraysOutput output = rockerModel.render(ArrayOfByteArraysOutput.FACTORY);

        List<byte[]> arrays = output.getArrays();
        ByteBuf byteBuf;
        int size = arrays.size();
        if (size == 0) {
            byteBuf = Unpooled.EMPTY_BUFFER;
        } else if (size == 1) {
            byteBuf = Unpooled.wrappedBuffer(arrays.get(0));
        } else {
            byteBuf = new CompositeByteBuf(UnpooledByteBufAllocator.DEFAULT, false, size,
                    Iterables.transform(arrays, Unpooled::wrappedBuffer));
        }

        AsciiString contentType = output.getContentType() == ContentType.HTML ? HTML : TEXT;
        context.getResponse().contentTypeIfNotSet(contentType).send(byteBuf);

    } catch (Exception e) {
        // https://github.com/fizzed/rocker/issues/30
        // Ratpack will try to toString() the rockerModel object, to create an exception message for the RenderException
        // This will obscure the underlying exception. Log here so we can actually see it.
        // This can be removed when the above issue is rectified.
        throw new RendererException("Error rendering template " + rockerModel.getClass().getName(), e);
    }
}