Sho SHIMIZU | e81e4db | 2015-09-03 09:44:38 -0700 | [diff] [blame^] | 1 | package org.onosproject.pcepio.util; |
| 2 | |
| 3 | import org.jboss.netty.buffer.ChannelBuffer; |
| 4 | import org.slf4j.Logger; |
| 5 | import org.slf4j.LoggerFactory; |
| 6 | |
| 7 | /** |
| 8 | * Provides Hex Dump for debugging. |
| 9 | */ |
| 10 | public final class HexDump { |
| 11 | protected static final Logger log = LoggerFactory.getLogger(HexDump.class); |
| 12 | |
| 13 | private HexDump() { |
| 14 | } |
| 15 | |
| 16 | public static void pcepHexDump(ChannelBuffer buff) { |
| 17 | |
| 18 | log.debug("==================== HEX DUMP ======================"); |
| 19 | try { |
| 20 | byte[] yTemp; |
| 21 | yTemp = buff.array(); |
| 22 | |
| 23 | int iStartIndex = buff.readerIndex(); |
| 24 | int iEndIndex = buff.writerIndex(); |
| 25 | do { |
| 26 | StringBuilder sb = new StringBuilder(); |
| 27 | for (int k = 0; (k < 16) && (iStartIndex < iEndIndex); ++k) { |
| 28 | if (0 == k % 4) { |
| 29 | sb.append(String.format(" ")); //blank after 4 bytes |
| 30 | } |
| 31 | sb.append(String.format("%02X ", yTemp[iStartIndex++])); |
| 32 | } |
| 33 | log.debug(sb.toString()); |
| 34 | } while (iStartIndex < iEndIndex); |
| 35 | } catch (Exception e) { |
| 36 | log.error("[HexDump] Invalid buffer: " + e.toString()); |
| 37 | } |
| 38 | |
| 39 | log.debug("==================================================="); |
| 40 | } |
| 41 | } |