Package org.agrona.concurrent.broadcast
Class CopyBroadcastReceiver
- java.lang.Object
-
- org.agrona.concurrent.broadcast.CopyBroadcastReceiver
-
public class CopyBroadcastReceiver extends java.lang.Object
Receiver that copies messages which have been broadcast to enable a simpler API for the client.
-
-
Field Summary
Fields Modifier and Type Field Description private BroadcastReceiver
receiver
static int
SCRATCH_BUFFER_LENGTH
Default length for the scratch buffer for copying messages into.private MutableDirectBuffer
scratchBuffer
-
Constructor Summary
Constructors Constructor Description CopyBroadcastReceiver(BroadcastReceiver receiver)
Wrap aBroadcastReceiver
to simplify the API for receiving messages.CopyBroadcastReceiver(BroadcastReceiver receiver, int scratchBufferLength)
Wrap aBroadcastReceiver
to simplify the API for receiving messages.CopyBroadcastReceiver(BroadcastReceiver receiver, MutableDirectBuffer scratchBuffer)
Wrap aBroadcastReceiver
to simplify the API for receiving messages.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description BroadcastReceiver
broadcastReceiver()
Get the underlyingBroadcastReceiver
which this is wrapping and copying out of.int
receive(MessageHandler handler)
Receive one message from the broadcast buffer.
-
-
-
Field Detail
-
SCRATCH_BUFFER_LENGTH
public static final int SCRATCH_BUFFER_LENGTH
Default length for the scratch buffer for copying messages into.- See Also:
- Constant Field Values
-
receiver
private final BroadcastReceiver receiver
-
scratchBuffer
private final MutableDirectBuffer scratchBuffer
-
-
Constructor Detail
-
CopyBroadcastReceiver
public CopyBroadcastReceiver(BroadcastReceiver receiver, MutableDirectBuffer scratchBuffer)
Wrap aBroadcastReceiver
to simplify the API for receiving messages.- Parameters:
receiver
- to be wrapped.scratchBuffer
- to be used for copying receive buffers.
-
CopyBroadcastReceiver
public CopyBroadcastReceiver(BroadcastReceiver receiver, int scratchBufferLength)
Wrap aBroadcastReceiver
to simplify the API for receiving messages.- Parameters:
receiver
- to be wrapped.scratchBufferLength
- is the maximum length of a message to be copied when receiving.
-
CopyBroadcastReceiver
public CopyBroadcastReceiver(BroadcastReceiver receiver)
Wrap aBroadcastReceiver
to simplify the API for receiving messages.- Parameters:
receiver
- to be wrapped.
-
-
Method Detail
-
broadcastReceiver
public BroadcastReceiver broadcastReceiver()
Get the underlyingBroadcastReceiver
which this is wrapping and copying out of.- Returns:
- the underlying
BroadcastReceiver
which this is wrapping and copying out of.
-
receive
public int receive(MessageHandler handler)
Receive one message from the broadcast buffer.- Parameters:
handler
- to be called for each message received.- Returns:
- the number of messages that have been received.
-
-