org.jgroups.blocks
public class PullPushAdapter extends Object implements Runnable, ChannelListener
Multiple MembershipListeners can register with the PullPushAdapter; when a view is received, they will all be notified. There is one main message listener which sends and receives message. In addition, MessageListeners can register with a certain tag (identifier), and then send messages tagged with this identifier. When a message with such an identifier is received, the corresponding MessageListener will be looked up and the message dispatched to it. If no tag is found (default), the main MessageListener will receive the message.
Version: $Revision
Nested Class Summary | |
---|---|
static class | PullPushAdapter.PullHeader |
Field Summary | |
---|---|
protected MessageListener | listener |
protected HashMap | listeners |
protected Log | log |
protected List | membership_listeners |
protected Thread | receiver_thread |
protected Transport | transport |
Constructor Summary | |
---|---|
PullPushAdapter(Transport transport) | |
PullPushAdapter(Transport transport, MessageListener l) | |
PullPushAdapter(Transport transport, MembershipListener ml) | |
PullPushAdapter(Transport transport, MessageListener l, MembershipListener ml) |
Method Summary | |
---|---|
void | addMembershipListener(MembershipListener l) |
void | channelClosed(Channel channel) |
void | channelConnected(Channel channel) |
void | channelDisconnected(Channel channel) |
void | channelReconnected(Address addr) |
void | channelShunned() |
MessageListener | getListener() |
Transport | getTransport() |
protected void | handleMessage(Message msg)
Check whether the message has an identifier. |
protected void | notifyBlock() |
protected void | notifySuspect(Address suspected_mbr) |
protected void | notifyViewChange(View v) |
void | registerListener(Serializable identifier, MessageListener l)
Sets a listener to messages with a given identifier.
|
void | removeMembershipListener(MembershipListener l) |
void | run()
Reentrant run(): message reception is serialized, then the listener is notified of the
message reception |
void | send(Serializable identifier, Message msg)
Sends a message to the group - listeners to this identifier will receive the messages. |
void | send(Message msg)
Sends a message with no identifier; listener member will get this message on the other group members. |
void | setListener(MessageListener l) |
void | setMembershipListener(MembershipListener ml) |
void | start() |
void | stop() |
void | unregisterListener(Serializable identifier)
Removes a message listener to a given identifier from the message listeners map. |
Returns: Returns the listener.
Parameters: identifier - messages sent on the group with this object will be received by this listener l - the listener that will get the message
Parameters: identifier the key that the proper listeners are listenting on msg the Message to be sent
See Also: PullPushAdapter
Parameters: msg the Message to be sent
Throws: Exception
Deprecated: Use PullPushAdapter
Parameters: identifier - the key to whom we do not want to listen any more