blob: 60ff8848f01b1ed283236a63794b62cc188a2dfe [file] [log] [blame]
Sho SHIMIZUe81e4db2015-09-03 09:44:38 -07001package org.onosproject.pcepio.util;
2
3import org.jboss.netty.buffer.ChannelBuffer;
4import org.slf4j.Logger;
5import org.slf4j.LoggerFactory;
6
7/**
8 * Provides Hex Dump for debugging.
9 */
10public 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}