public static class StripedBlockUtil.StripingChunk extends Object
StripedBlockUtil.AlignedStripe
on an internal block,
and the state of the chunk in the context of the read request.Modifier and Type | Field and Description |
---|---|
static int |
ALLZERO
Internal block is short and has no overlap with chunk.
|
static int |
FETCHED
Chunk has been successfully fetched
|
static int |
MISSING
Chunk has encountered failed when being fetched
|
static int |
PENDING
Chunk being fetched (fetching task is in-flight)
|
static int |
REQUESTED
Chunk is requested either by application or for decoding, need to
schedule read task
|
int |
state
If a chunk is completely in requested range, the state transition is:
REQUESTED (when AlignedStripe created) -> PENDING ->
{FETCHED | MISSING}
If a chunk is completely outside requested range (including parity
chunks), state transition is:
null (AlignedStripe created) ->REQUESTED (upon failure) ->
PENDING ...
|
Constructor and Description |
---|
StripingChunk() |
StripingChunk(ByteBuffer buf) |
StripingChunk(int state) |
Modifier and Type | Method and Description |
---|---|
ByteBuffer |
getByteBuffer() |
StripedBlockUtil.ChunkByteBuffer |
getChunkBuffer() |
boolean |
useByteBuffer() |
boolean |
useChunkBuffer() |
public static final int FETCHED
public static final int MISSING
public static final int PENDING
public static final int REQUESTED
public static final int ALLZERO
public int state
public StripingChunk()
public StripingChunk(ByteBuffer buf)
public StripingChunk(int state)
public boolean useByteBuffer()
public boolean useChunkBuffer()
public ByteBuffer getByteBuffer()
public StripedBlockUtil.ChunkByteBuffer getChunkBuffer()
Copyright © 2008–2023 Apache Software Foundation. All rights reserved.