Class ByteBufUtils


  • public abstract class ByteBufUtils
    extends Object
    Class for common operations on ByteBuf.
    Author:
    michal.polkorab, timotej.kubas
    • Field Detail

      • DOT_SPLITTER

        public static final com.google.common.base.Splitter DOT_SPLITTER
      • COLON_SPLITTER

        public static final com.google.common.base.Splitter COLON_SPLITTER
    • Method Detail

      • byteBufToHexString

        public static String byteBufToHexString​(io.netty.buffer.ByteBuf bb)
        Converts ByteBuf into String.
        Parameters:
        bb - input ByteBuf
        Returns:
        String
      • hexStringToBytes

        public static byte[] hexStringToBytes​(String hexSrc)
        Converts String into byte[].
        Parameters:
        hexSrc - input String
        Returns:
        byte[] filled with input data
      • hexStringToBytes

        public static byte[] hexStringToBytes​(String hexSrc,
                                              boolean withSpaces)
        Converts String into byte[].
        Parameters:
        hexSrc - input String
        withSpaces - if there are spaces in string
        Returns:
        byte[] filled with input data
      • hexStringToByteBuf

        public static io.netty.buffer.ByteBuf hexStringToByteBuf​(String hexSrc)
        Creates ByteBuf filled with specified data.
        Parameters:
        hexSrc - input String of bytes in hex format
        Returns:
        ByteBuf with specified hexString converted
      • hexStringToByteBuf

        public static void hexStringToByteBuf​(String hexSrc,
                                              io.netty.buffer.ByteBuf out)
        Creates ByteBuf filled with specified data.
        Parameters:
        hexSrc - input String of bytes in hex format
        out - ByteBuf with specified hexString converted
      • padBuffer

        @Deprecated
        public static void padBuffer​(int length,
                                     io.netty.buffer.ByteBuf out)
        Deprecated.
        Use ByteBuf.writeZero(int) directly.
        Fills specified ByteBuf with 0 (zeros) of desired length, used for padding.
        Parameters:
        length - the desired length
        out - ByteBuf to be padded
      • writeOFHeader

        public static <E extends OfHeader> void writeOFHeader​(byte msgType,
                                                              E message,
                                                              io.netty.buffer.ByteBuf out,
                                                              int length)
        Create standard OF header.
        Parameters:
        msgType - message code
        message - POJO
        out - writing buffer
        length - ofheader length
      • updateOFHeaderLength

        public static void updateOFHeaderLength​(io.netty.buffer.ByteBuf out)
        Write length standard OF header.
        Parameters:
        out - writing buffer
      • updateOFHeaderLength

        public static void updateOFHeaderLength​(io.netty.buffer.ByteBuf out,
                                                int index)
        Write length OF header.
        Parameters:
        out - writing buffer
        index - writing index
      • fillBitMaskFromMap

        public static int fillBitMaskFromMap​(Map<Integer,​Boolean> booleanMap)
        Fills the bitmask from boolean map where key is bit position.
        Parameters:
        booleanMap - bit to boolean mapping
        Returns:
        bit mask
      • fillBitMask

        public static int fillBitMask​(int offset,
                                      boolean... values)
        Fills the bitmask from a set of bit values, starting at specified offset.
        Parameters:
        offset - Bit offset to start at
        values - boolean bit values to fill
        Returns:
        Filled-in bitmask
      • fillBitMaskFromList

        public static int[] fillBitMaskFromList​(List<Boolean> booleanList)
        Fills the bitmask from boolean list where key is bit position.
        Parameters:
        booleanList - bit to boolean mapping
        Returns:
        bit mask
      • bytesToHexString

        public static String bytesToHexString​(byte[] array)
        Converts byte array into String.
        Parameters:
        array - input byte array
        Returns:
        String
      • macAddressToBytes

        public static byte[] macAddressToBytes​(String macAddress)
        Converts macAddress to byte array. See also MacAddress.
        Parameters:
        macAddress - the mac address to convert
        Returns:
        byte representation of mac address
      • macAddressToString

        public static String macAddressToString​(byte[] address)
        Converts a MAC address represented in bytes to String. See also MacAddress.
        Parameters:
        address - the MAC address to convert
        Returns:
        String representation of a MAC address
      • decodeNullTerminatedString

        public static String decodeNullTerminatedString​(io.netty.buffer.ByteBuf rawMessage,
                                                        int length)
        Reads and parses null-terminated string from ByteBuf.
        Parameters:
        rawMessage - the message to parse
        length - maximal length of String
        Returns:
        String with name of port
      • readIpv4Address

        public static String readIpv4Address​(io.netty.buffer.ByteBuf buf)
        Read an IPv4 address from a buffer and format it into dotted-quad string.
        Parameters:
        buf - Input buffer
        Returns:
        Dotted-quad string
      • readIpv6Address

        public static String readIpv6Address​(io.netty.buffer.ByteBuf buf)
        Read an IPv6 address from a buffer and format it into a string of eight groups of four hexadecimal digits separated by colons.
        Parameters:
        buf - Input buffer
        Returns:
        IPv6 address in string format
      • readIetfIpv4Address

        public static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address readIetfIpv4Address​(io.netty.buffer.ByteBuf buf)
      • readIetfIpv6Address

        public static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address readIetfIpv6Address​(io.netty.buffer.ByteBuf buf)
      • readIetfMacAddress

        public static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress readIetfMacAddress​(io.netty.buffer.ByteBuf buf)
      • serializeList

        public static byte[] serializeList​(List<Short> list)