public class MessageBus
extends java.lang.Object
MessageDatas| Constructor and Description |
|---|
MessageBus()
Constructor
|
| Modifier and Type | Method and Description |
|---|---|
void |
broadcast(MessageExchange source,
java.lang.String messageType)
Broadcasts a message to all
MessageExchanges from a specified
MessageExchange |
void |
broadcast(MessageExchange source,
java.lang.String messageType,
MessageData messageData)
|
void |
broadcast(java.lang.String messageType)
Broadcasts a message to all
MessageExchanges from an anonymous
source |
void |
broadcast(java.lang.String messageType,
MessageData messageData)
Broadcasts a message with
MessageData to all
MessageExchanges from an anonymous source |
void |
broadcastQuery(java.lang.String messageType,
MessageData messageData,
java.lang.String responseMessageType,
boolean requiresDirectResponse,
MessageHandler queryHandler)
Broadcasts a message and calls a
MessageHandler when a response
message is received. |
void |
broadcastQuery(java.lang.String messageType,
MessageData messageData,
java.lang.String responseMessageType,
MessageHandler queryHandler)
Broadcasts a message and calls a
MessageHandler when a response
message is received. |
void |
broadcastQuery(java.lang.String messageType,
java.lang.String responseMessageType,
boolean requiresDirectResponse,
MessageHandler queryHandler)
Broadcasts a message and calls a
MessageHandler when a response
message is received. |
void |
broadcastQuery(java.lang.String messageType,
java.lang.String responseMessageType,
MessageHandler queryHandler)
Broadcasts a message and calls a
MessageHandler when a response
message is received. |
MessageExchange |
createConcurrentExchange(MessageHandler... messageHandlers)
Creates a
ConcurrentMessageExchange that processes messages on
its own Thread. |
MessageExchange |
createImmediateExchange(MessageHandler... messageHandlers)
Creates a
ImmediateMessageExchange that processes messages
immediately when they are received |
MessageExchange |
createIntervalExchange(float interval,
MessageHandler messageHandlers)
Creates a
IntervalMessageExchange that processes messages after a
certain amount of time has elapsed. |
MessageExchange |
createOnUpdateExchange(MessageHandler... messageHandlers)
Creates a
OnUpdateMessageExchange that processes messages when
update(float) is called |
int |
getAnonymousExchangeId()
Returns the id of the
MessageExchange used for anonymous sending |
int |
getQueryMessagePoolSize()
Returns the amount of
QueryMessageExchange instances available |
int |
getTotalActiveExchanges()
Returns the total amount of active
MessageExchanges (including
QueryMessageExchanges |
void |
send(MessageExchange source,
MessageExchange destination,
java.lang.String messageType)
Sends a message from one
MessageExchange to another |
void |
send(MessageExchange source,
MessageExchange destination,
java.lang.String messageType,
MessageData messageData)
Sends a message with
MessageData from one MessageExchange
to another |
void |
sendTo(MessageExchange destination,
java.lang.String messageType)
Sends a message to a
MessageExchange from an anonymous source |
void |
sendTo(MessageExchange destination,
java.lang.String messageType,
MessageData messageData)
Sends a message with
MessageData to a MessageExchange
from an anonymous source |
void |
update(float delta)
Updates all
MessageExchanges |
public void update(float delta)
MessageExchangesdelta - (in seconds) The timestep or amount of time that has elapsed
since the last framepublic MessageExchange createImmediateExchange(MessageHandler... messageHandlers)
ImmediateMessageExchange that processes messages
immediately when they are receivedmessageHandlers - The MessageHandler instances for processing messages received by
the MessageExchangeImmediateMessageExchangepublic MessageExchange createIntervalExchange(float interval, MessageHandler messageHandlers)
IntervalMessageExchange that processes messages after a
certain amount of time has elapsed.interval - The interval between processing MessageDatas (in
seconds)messageHandlers - The MessageHandler instances for processing messages received by
the MessageExchangeIntervalMessageExchangepublic MessageExchange createOnUpdateExchange(MessageHandler... messageHandlers)
OnUpdateMessageExchange that processes messages when
update(float) is calledmessageHandlers - The MessageHandler instances for processing messages received by
the MessageExchangeOnUpdateMessageExchangepublic MessageExchange createConcurrentExchange(MessageHandler... messageHandlers)
ConcurrentMessageExchange that processes messages on
its own Thread. The exchanger/thread can be stopped by calling
MessageExchange.dispose()messageHandlers - The MessageHandler instances for processing messages received by
the MessageExchangeConcurrentMessageExchange running on its own threadpublic void broadcast(java.lang.String messageType)
MessageExchanges from an anonymous
sourcemessageType - The message typepublic void broadcast(java.lang.String messageType,
MessageData messageData)
MessageData to all
MessageExchanges from an anonymous sourcemessageType - The message typemessageData - The MessageData to be publishedpublic void broadcast(MessageExchange source, java.lang.String messageType)
MessageExchanges from a specified
MessageExchangesource - The MessageExchange to broadcast the
MessageData frommessageType - The message typepublic void broadcast(MessageExchange source, java.lang.String messageType, MessageData messageData)
source - The MessageExchange to broadcast the
MessageData frommessageType - The message typemessageData - The MessageData to broadcastpublic void send(MessageExchange source, MessageExchange destination, java.lang.String messageType)
MessageExchange to anothersource - The MessageExchange the MessageData is sent
fromdestination - The MessageExchange the MessageData is sent tomessageType - The message typepublic void send(MessageExchange source, MessageExchange destination, java.lang.String messageType, MessageData messageData)
MessageData from one MessageExchange
to anothersource - The MessageExchange the MessageData is sent
fromdestination - The MessageExchange the MessageData is sent tomessageType - The message typemessageData - The MessageData that is sentpublic void sendTo(MessageExchange destination, java.lang.String messageType)
MessageExchange from an anonymous sourcedestination - The MessageExchange the MessageData is sent tomessageType - The message typepublic void sendTo(MessageExchange destination, java.lang.String messageType, MessageData messageData)
MessageData to a MessageExchange
from an anonymous sourcedestination - The MessageExchange the MessageData is sent tomessageType - The message typemessageData - The MessageData that is sentpublic void broadcastQuery(java.lang.String messageType,
java.lang.String responseMessageType,
MessageHandler queryHandler)
MessageHandler when a response
message is received.messageType - The message type to sendresponseMessageType - The required message type of the responsequeryHandler - The MessageHandler to call when the response is
receivedpublic void broadcastQuery(java.lang.String messageType,
java.lang.String responseMessageType,
boolean requiresDirectResponse,
MessageHandler queryHandler)
MessageHandler when a response
message is received.messageType - The message type to sendresponseMessageType - The required message type of the responserequiresDirectResponse - True if a direct response is required. A direct response is a
message sent explicitly from a MessageExchange to the
MessageExchange used to send the query.queryHandler - The MessageHandler to call when the response is
receivedpublic void broadcastQuery(java.lang.String messageType,
MessageData messageData,
java.lang.String responseMessageType,
MessageHandler queryHandler)
MessageHandler when a response
message is received.messageType - The message type to sendmessageData - The MessageData to sendresponseMessageType - The required message type of the responsequeryHandler - The MessageHandler to call when the response is
receivedpublic void broadcastQuery(java.lang.String messageType,
MessageData messageData,
java.lang.String responseMessageType,
boolean requiresDirectResponse,
MessageHandler queryHandler)
MessageHandler when a response
message is received.messageType - The message type to sendmessageData - The MessageData to sendresponseMessageType - The required message type of the responserequiresDirectResponse - True if a direct response is required. A direct response is a
message sent explicitly from a MessageExchange to the
MessageExchange used to send the query.queryHandler - The MessageHandler to call when the response is
receivedpublic int getQueryMessagePoolSize()
QueryMessageExchange instances availablepublic int getAnonymousExchangeId()
MessageExchange used for anonymous sendingpublic int getTotalActiveExchanges()
MessageExchanges (including
QueryMessageExchanges