public class MessageSplitter
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected java.util.concurrent.atomic.AtomicLong |
memoryUse |
protected java.util.Map<java.lang.String,ChunksTracker> |
trackers |
Constructor and Description |
---|
MessageSplitter() |
Modifier and Type | Method and Description |
---|---|
static MessageSplitter |
getInstance()
This method returns shared instance of MessageSplitter
|
<T extends VoidMessage> |
merge(VoidChunk chunk)
This method tries to merge using files tracker
|
<T extends VoidMessage> |
merge(VoidChunk chunk,
long memoryLimit) |
void |
release(java.lang.String messageId)
This method removes specified messageId from tracking
|
void |
reset() |
java.util.Collection<VoidChunk> |
split(VoidMessage message,
int maxBytes)
This method splits VoidMessage into chunks, and returns them as Collection
|
protected java.util.Map<java.lang.String,ChunksTracker> trackers
protected final java.util.concurrent.atomic.AtomicLong memoryUse
public static MessageSplitter getInstance()
public java.util.Collection<VoidChunk> split(@NonNull VoidMessage message, int maxBytes) throws java.io.IOException
message
- java.io.IOException
public <T extends VoidMessage> org.nd4j.linalg.primitives.Optional<T> merge(@NonNull VoidChunk chunk)
T
- chunk
- public void release(java.lang.String messageId)
messageId
- public <T extends VoidMessage> org.nd4j.linalg.primitives.Optional<T> merge(@NonNull VoidChunk chunk, long memoryLimit)
T
- chunk
- memoryLimit
- public void reset()
Copyright © 2019. All rights reserved.