public class ImageFragmentAssembler extends java.lang.Object implements FragmentHandler
FragmentHandler that sits in a chain-of-responsibility pattern that reassembles fragmented messages
so that the next handler in the chain only sees whole messages. This is for a single session on an Image
and not for multiple session Images in a Subscription.
Unfragmented messages are delegated without copy. Fragmented messages are copied to a temporary buffer for reassembly before delegation.
The Header passed to the delegate on assembling a message will be that of the last fragment.
| Constructor and Description |
|---|
ImageFragmentAssembler(FragmentHandler delegate)
Construct an adapter to reassemble message fragments and delegate on only whole messages.
|
ImageFragmentAssembler(FragmentHandler delegate,
int initialBufferLength)
Construct an adapter to reassemble message fragments and delegate on only whole messages.
|
ImageFragmentAssembler(FragmentHandler delegate,
int initialBufferLength,
boolean isDirectByteBuffer)
Construct an adapter to reassemble message fragments and delegate on only whole messages.
|
| Modifier and Type | Method and Description |
|---|---|
FragmentHandler |
delegate()
Get the delegate unto which assembled messages are delegated.
|
void |
onFragment(org.agrona.DirectBuffer buffer,
int offset,
int length,
Header header)
The implementation of
FragmentHandler that reassembles and forwards whole messages. |
public ImageFragmentAssembler(FragmentHandler delegate)
delegate - onto which whole messages are forwarded.public ImageFragmentAssembler(FragmentHandler delegate, int initialBufferLength)
delegate - onto which whole messages are forwarded.initialBufferLength - to be used for the session.public ImageFragmentAssembler(FragmentHandler delegate, int initialBufferLength, boolean isDirectByteBuffer)
delegate - onto which whole messages are forwarded.initialBufferLength - to be used for the session.isDirectByteBuffer - is the underlying buffer to be a direct ByteBuffer?public FragmentHandler delegate()
public void onFragment(org.agrona.DirectBuffer buffer,
int offset,
int length,
Header header)
FragmentHandler that reassembles and forwards whole messages.onFragment in interface FragmentHandlerbuffer - containing the data.offset - at which the data begins.length - of the data in bytes.header - representing the meta data for the data.Copyright © 2014-2018 Real Logic Ltd. All Rights Reserved.