public class MessageCore
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
VERSION |
Constructor and Description |
---|
MessageCore(Executor executor) |
Modifier and Type | Method and Description |
---|---|
void |
addAsyncFilter(MessageFilter filter,
AsyncMessageFilterCallback callback,
ByteCounter ctr) |
void |
checkFilters(Message m,
PacketSocketHandler from)
Dispatch a message to a waiting filter, or feed it to the
Dispatcher if none are found.
|
Message |
decodeSingleMessage(byte[] data,
int offset,
int length,
PeerContext peer,
int overhead)
Decode a packet from data and a peer.
|
Executor |
getExecutor() |
long |
getStartedTime() |
java.util.Map<java.lang.String,java.lang.Integer> |
getUnclaimedFIFOMessageCounts() |
int |
getUnclaimedFIFOSize() |
void |
onDisconnect(PeerContext ctx)
IncomingPacketFilter should call this when a node is disconnected.
|
void |
onRestart(PeerContext ctx)
IncomingPacketFilter should call this when a node connects with a new boot ID
|
void |
send(PeerContext destination,
Message m,
ByteCounter ctr)
Send a Message to a PeerContext.
|
void |
setDispatcher(Dispatcher d) |
void |
start(Ticker ticker) |
Message |
waitFor(MessageFilter filter,
ByteCounter ctr)
Wait for a filter to trigger, or timeout.
|
public static final java.lang.String VERSION
public MessageCore(Executor executor)
public long getStartedTime()
public Message decodeSingleMessage(byte[] data, int offset, int length, PeerContext peer, int overhead)
data
- offset
- length
- peer
- public void start(Ticker ticker)
public void checkFilters(Message m, PacketSocketHandler from)
m
- The Message to dispatch.public void onDisconnect(PeerContext ctx)
public void onRestart(PeerContext ctx)
public void addAsyncFilter(MessageFilter filter, AsyncMessageFilterCallback callback, ByteCounter ctr) throws DisconnectedException
DisconnectedException
public Message waitFor(MessageFilter filter, ByteCounter ctr) throws DisconnectedException
filter
- The filter to wait for. This filter must not have a callback.ctr
- Byte counter to add bytes from the message to.DisconnectedException
- If the single peer being waited for disconnects.java.lang.IllegalArgumentException
- If filter
has a callbackpublic void send(PeerContext destination, Message m, ByteCounter ctr) throws NotConnectedException
NotConnectedException
- If we are not currently connected to the node.public void setDispatcher(Dispatcher d)
public int getUnclaimedFIFOSize()
public java.util.Map<java.lang.String,java.lang.Integer> getUnclaimedFIFOMessageCounts()
public Executor getExecutor()