public abstract class AbstractPagedOutputView extends Object implements org.apache.flink.core.memory.DataOutputView, org.apache.flink.core.memory.MemorySegmentWritable
The paging assumes that all memory segments are of the same size.
| Modifier and Type | Field and Description | 
|---|---|
protected int | 
headerLength  | 
protected int | 
segmentSize  | 
| Modifier | Constructor and Description | 
|---|---|
protected  | 
AbstractPagedOutputView(int segmentSize,
                       int headerLength)  | 
protected  | 
AbstractPagedOutputView(org.apache.flink.core.memory.MemorySegment initialSegment,
                       int segmentSize,
                       int headerLength)
Creates a new output view that writes initially to the given initial segment. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
advance()
Moves the output view to the next page. 
 | 
protected void | 
clear()
Clears the internal state. 
 | 
int | 
getCurrentPositionInSegment()
Gets the current write position (the position where the next bytes will be written)
 in the current memory segment. 
 | 
org.apache.flink.core.memory.MemorySegment | 
getCurrentSegment()
Gets the segment that the view currently writes to. 
 | 
int | 
getHeaderLength()  | 
int | 
getSegmentSize()
Gets the size of the segments used by this view. 
 | 
protected abstract org.apache.flink.core.memory.MemorySegment | 
nextSegment(org.apache.flink.core.memory.MemorySegment current,
           int positionInCurrent)
This method must return a segment. 
 | 
protected void | 
seekOutput(org.apache.flink.core.memory.MemorySegment seg,
          int position)
Sets the internal state to the given memory segment and the given position within the segment. 
 | 
void | 
skipBytesToWrite(int numBytes)  | 
void | 
write(byte[] b)  | 
void | 
write(byte[] b,
     int off,
     int len)  | 
void | 
write(org.apache.flink.core.memory.DataInputView source,
     int numBytes)  | 
void | 
write(int b)  | 
void | 
write(org.apache.flink.core.memory.MemorySegment segment,
     int off,
     int len)  | 
void | 
writeBoolean(boolean v)  | 
void | 
writeByte(int v)  | 
void | 
writeBytes(String s)  | 
void | 
writeChar(int v)  | 
void | 
writeChars(String s)  | 
void | 
writeDouble(double v)  | 
void | 
writeFloat(float v)  | 
void | 
writeInt(int v)  | 
void | 
writeLong(long v)  | 
void | 
writeShort(int v)  | 
void | 
writeUTF(String str)  | 
protected final int segmentSize
protected final int headerLength
protected AbstractPagedOutputView(org.apache.flink.core.memory.MemorySegment initialSegment,
                                  int segmentSize,
                                  int headerLength)
segmentSize. A header of length headerLength is left
 at the beginning of each segment.initialSegment - The segment that the view starts writing to.segmentSize - The size of the memory segments.headerLength - The number of bytes to skip at the beginning of each segment for the header.protected AbstractPagedOutputView(int segmentSize,
                                  int headerLength)
segmentSize - The size of the memory segments.headerLength - The number of bytes to skip at the beginning of each segment for the header.protected abstract org.apache.flink.core.memory.MemorySegment nextSegment(org.apache.flink.core.memory.MemorySegment current,
                                                                          int positionInCurrent)
                                                                   throws IOException
EOFException.current - The current memory segmentpositionInCurrent - The position in the segment, one after the last valid byte.IOExceptionpublic org.apache.flink.core.memory.MemorySegment getCurrentSegment()
public int getCurrentPositionInSegment()
public int getSegmentSize()
public void advance()
             throws IOException
nextSegment(MemorySegment, int) method to give the current memory segment to the concrete subclass'
 implementation and obtain the next segment to write to. Writing will continue inside the new segment
 after the header.IOException - Thrown, if the current segment could not be processed or a new segment could not
                     be obtained.public int getHeaderLength()
protected void seekOutput(org.apache.flink.core.memory.MemorySegment seg,
                          int position)
seg - The memory segment to write the next bytes to.position - The position to start writing the next bytes to.protected void clear()
advance() or
 seekOutput(MemorySegment, int) is called.advance(), 
seekOutput(MemorySegment, int)public void write(int b)
           throws IOException
write in interface DataOutputIOExceptionpublic void write(byte[] b)
           throws IOException
write in interface DataOutputIOExceptionpublic void write(byte[] b,
                  int off,
                  int len)
           throws IOException
write in interface DataOutputIOExceptionpublic void writeBoolean(boolean v)
                  throws IOException
writeBoolean in interface DataOutputIOExceptionpublic void writeByte(int v)
               throws IOException
writeByte in interface DataOutputIOExceptionpublic void writeShort(int v)
                throws IOException
writeShort in interface DataOutputIOExceptionpublic void writeChar(int v)
               throws IOException
writeChar in interface DataOutputIOExceptionpublic void writeInt(int v)
              throws IOException
writeInt in interface DataOutputIOExceptionpublic void writeLong(long v)
               throws IOException
writeLong in interface DataOutputIOExceptionpublic void writeFloat(float v)
                throws IOException
writeFloat in interface DataOutputIOExceptionpublic void writeDouble(double v)
                 throws IOException
writeDouble in interface DataOutputIOExceptionpublic void writeBytes(String s) throws IOException
writeBytes in interface DataOutputIOExceptionpublic void writeChars(String s) throws IOException
writeChars in interface DataOutputIOExceptionpublic void writeUTF(String str) throws IOException
writeUTF in interface DataOutputIOExceptionpublic void skipBytesToWrite(int numBytes)
                      throws IOException
skipBytesToWrite in interface org.apache.flink.core.memory.DataOutputViewIOExceptionpublic void write(org.apache.flink.core.memory.DataInputView source,
                  int numBytes)
           throws IOException
write in interface org.apache.flink.core.memory.DataOutputViewIOExceptionpublic void write(org.apache.flink.core.memory.MemorySegment segment,
                  int off,
                  int len)
           throws IOException
write in interface org.apache.flink.core.memory.MemorySegmentWritableIOExceptionCopyright © 2014–2019 The Apache Software Foundation. All rights reserved.