public abstract class AbstractPagedOutputView extends Object implements org.apache.flink.core.memory.DataOutputView
The paging assumes that all memory segments are of the same size.
限定符和类型 | 字段和说明 |
---|---|
protected int |
headerLength |
protected int |
segmentSize |
限定符 | 构造器和说明 |
---|---|
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.
|
限定符和类型 | 方法和说明 |
---|---|
protected 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 |
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 |
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 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.IOException
public org.apache.flink.core.memory.MemorySegment getCurrentSegment()
public int getCurrentPositionInSegment()
public int getSegmentSize()
protected 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.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.public void write(int b) throws IOException
write
在接口中 DataOutput
IOException
public void write(byte[] b) throws IOException
write
在接口中 DataOutput
IOException
public void write(byte[] b, int off, int len) throws IOException
write
在接口中 DataOutput
IOException
public void writeBoolean(boolean v) throws IOException
writeBoolean
在接口中 DataOutput
IOException
public void writeByte(int v) throws IOException
writeByte
在接口中 DataOutput
IOException
public void writeShort(int v) throws IOException
writeShort
在接口中 DataOutput
IOException
public void writeChar(int v) throws IOException
writeChar
在接口中 DataOutput
IOException
public void writeInt(int v) throws IOException
writeInt
在接口中 DataOutput
IOException
public void writeLong(long v) throws IOException
writeLong
在接口中 DataOutput
IOException
public void writeFloat(float v) throws IOException
writeFloat
在接口中 DataOutput
IOException
public void writeDouble(double v) throws IOException
writeDouble
在接口中 DataOutput
IOException
public void writeBytes(String s) throws IOException
writeBytes
在接口中 DataOutput
IOException
public void writeChars(String s) throws IOException
writeChars
在接口中 DataOutput
IOException
public void writeUTF(String str) throws IOException
writeUTF
在接口中 DataOutput
IOException
public void skipBytesToWrite(int numBytes) throws IOException
skipBytesToWrite
在接口中 org.apache.flink.core.memory.DataOutputView
IOException
public void write(org.apache.flink.core.memory.DataInputView source, int numBytes) throws IOException
write
在接口中 org.apache.flink.core.memory.DataOutputView
IOException
Copyright © 2014–2019 The Apache Software Foundation. All rights reserved.