public static LogEntry fromBytes(byte bytes[]) throws IOException { DataInputBuffer inp = new DataInputBuffer(); inp.reset(bytes, bytes.length); KeyExtent extent = new KeyExtent(); extent.readFields(inp); long timestamp = inp.readLong(); String server = inp.readUTF(); String filename = inp.readUTF(); return new LogEntry(extent, timestamp, server, filename); }
@Override public void readFields(DataInput in) throws IOException { size = WritableUtils.readVInt(in); int payload = size - WritableUtils.getVIntSize(size); if (payload > Long.SIZE / Byte.SIZE) { seed = in.readLong(); payload -= Long.SIZE / Byte.SIZE; } else { Arrays.fill(literal, (byte)0); in.readFully(literal, 0, payload); dib.reset(literal, 0, literal.length); seed = dib.readLong(); payload = 0; } final int vBytes = in.skipBytes(payload); if (vBytes != payload) { throw new EOFException("Expected " + payload + ", read " + vBytes); } }
public void fromBytes(byte bytes[]) throws IOException { DataInputBuffer inp = new DataInputBuffer(); inp.reset(bytes, bytes.length); extent = new KeyExtent(); extent.readFields(inp); timestamp = inp.readLong(); server = inp.readUTF(); filename = inp.readUTF(); tabletId = inp.read(); int count = inp.read(); ArrayList<String> logSet = new ArrayList<String>(count); for (int i = 0; i < count; i++) logSet.add(inp.readUTF()); this.logSet = logSet; }
@Override public TMessageSet deserialize(byte[] payload) { DataInputBuffer inBuffer = new DataInputBuffer(); inBuffer.reset(payload, payload.length); try { String app = inBuffer.readUTF(); int numMessages = inBuffer.readInt(); byte compression = inBuffer.readByte(); long crc = inBuffer.readLong(); byte[] messages = new byte[inBuffer.readInt()]; inBuffer.read(messages); return new TMessageSet( app, numMessages, compression, crc, ByteBuffer.wrap(messages) ); } catch (Exception e) { throw new RuntimeException("Failed to de-serialize payload into TMessageSet: "+e.getMessage(), e); } finally { Closeables.closeQuietly(inBuffer); } }
static public LogEntry fromBytes(byte bytes[]) throws IOException { DataInputBuffer inp = new DataInputBuffer(); inp.reset(bytes, bytes.length); KeyExtent extent = new KeyExtent(); extent.readFields(inp); long timestamp = inp.readLong(); String server = inp.readUTF(); String filename = inp.readUTF(); return new LogEntry(extent, timestamp, server, filename); }
inBuf.reset(); identifier.readFieldsInOldFormat(inBuf); assertEquals(42, inBuf.readLong());