/** * Return a CodeChunk that has limited visibility into * this CodeChunk. Used when a caller needs to insert instructions * into an existing stream. * @param pc * @param byteCount */ private CodeChunk(CodeChunk main, int pc, int byteCount) { this.cb = main.cb; ArrayOutputStream aos = new ArrayOutputStream(main.cout.getData()); try { aos.setPosition(CODE_OFFSET + pc); aos.setLimit(byteCount); } catch (IOException e) { limitHit(e); } cout = new ClassFormatOutput(aos); pcDelta = pc; }
private static short checkLong(long i, short oldLength) throws IOException { aos.setPosition(0); int length = CompressedNumber.writeLong(out, i); if (length != oldLength) { int writtenBytes = aos.getPosition(); if (writtenBytes != length) { System.out.println("MISMATCH written bytes expected " + length + " got " + writtenBytes);
/** * Create the output streams. * <p> * Create the output streams, these are created on demand * to avoid creating unrequired objects for pages that are * never modified during their lifetime in the cache. * <p> * * @exception StandardException Standard exception policy. **/ private void createOutStreams() { rawDataOut = new ArrayOutputStream(); rawDataOut.setData(pageData); logicalDataOut = new FormatIdOutputStream(rawDataOut); }
"header won't fit in array"); ArrayOutputStream a_out = new ArrayOutputStream(a); FormatIdOutputStream outStream = new FormatIdOutputStream(a_out); if (isReusableRecordId()) status |= FILE_REUSABLE_RECORDID; a_out.setPosition(0); a_out.setLimit(CONTAINER_INFO_SIZE); outStream.writeInt(formatIdInteger); outStream.writeInt(status); a_out.clearLimit();
private void writeExtent(int offset) throws IOException { // rawDataOut and logicalDataOut are defined by StoredPage rawDataOut.setPosition(offset); extent.writeExternal(logicalDataOut); }
logOutputBuffer.setData(buffer); logOutputBuffer.setPosition(p); logicalOut.writeObject(checksumLogRecord);
public ArrayOutputStream(byte[] data) { super(); setData(data); }
logOutputBuffer = new ArrayOutputStream(); logicalOut = new FormatIdOutputStream(logOutputBuffer);
"header won't fit in array"); ArrayOutputStream a_out = new ArrayOutputStream(a); FormatIdOutputStream outStream = new FormatIdOutputStream(a_out); if (isReusableRecordId()) status |= FILE_REUSABLE_RECORDID; a_out.setPosition(0); a_out.setLimit(CONTAINER_INFO_SIZE); outStream.writeInt(formatIdInteger); outStream.writeInt(status); a_out.clearLimit();
private void writeExtent(int offset) throws IOException { // rawDataOut and logicalDataOut are defined by StoredPage rawDataOut.setPosition(offset); extent.writeExternal(logicalDataOut); }
logOutputBuffer.setData(buffer); logOutputBuffer.setPosition(p); logicalOut.writeObject(checksumLogRecord);
public ArrayOutputStream(byte[] data) { super(); setData(data); }
logOutputBuffer = new ArrayOutputStream(); logicalOut = new FormatIdOutputStream(logOutputBuffer);
"header won't fit in array"); ArrayOutputStream a_out = new ArrayOutputStream(a); FormatIdOutputStream outStream = new FormatIdOutputStream(a_out); if (isReusableRecordId()) status |= FILE_REUSABLE_RECORDID; a_out.setPosition(0); a_out.setLimit(CONTAINER_INFO_SIZE); outStream.writeInt(formatIdInteger); outStream.writeInt(status); a_out.clearLimit();
private void writeExtent(int offset) throws IOException { // rawDataOut and logicalDataOut are defined by StoredPage rawDataOut.setPosition(offset); extent.writeExternal(logicalDataOut); }
private static short checkLong(long i, short oldLength) throws IOException { aos.setPosition(0); int length = CompressedNumber.writeLong(out, i); if (length != oldLength) { int writtenBytes = aos.getPosition(); if (writtenBytes != length) { System.out.println("MISMATCH written bytes expected " + length + " got " + writtenBytes);
/** * Return a CodeChunk that has limited visibility into * this CodeChunk. Used when a caller needs to insert instructions * into an existing stream. * @param pc * @param byteCount */ private CodeChunk(CodeChunk main, int pc, int byteCount) { this.cb = main.cb; ArrayOutputStream aos = new ArrayOutputStream(main.cout.getData()); try { aos.setPosition(CODE_OFFSET + pc); aos.setLimit(byteCount); } catch (IOException e) { limitHit(e); } cout = new ClassFormatOutput(aos); pcDelta = pc; }
/** * Create the output streams. * <p> * Create the output streams, these are created on demand * to avoid creating unrequired objects for pages that are * never modified during their lifetime in the cache. * <p> * * @exception StandardException Standard exception policy. **/ private void createOutStreams() { rawDataOut = new ArrayOutputStream(); rawDataOut.setData(pageData); logicalDataOut = new FormatIdOutputStream(rawDataOut); }
logOutputBuffer.setData(buffer); logOutputBuffer.setPosition(p); logicalOut.writeObject(checksumLogRecord);
public ArrayOutputStream(byte[] data) { super(); setData(data); }