org.jgroups.demos
Class Chat

java.lang.Object
  extended by org.jgroups.demos.Chat
All Implemented Interfaces:
java.awt.event.MouseListener, java.awt.event.WindowListener, java.util.EventListener, ExtendedMembershipListener, ExtendedMessageListener, MembershipListener, MessageListener

public class Chat
extends java.lang.Object
implements java.awt.event.MouseListener, java.awt.event.WindowListener, ExtendedMessageListener, ExtendedMembershipListener

Simple chat demo

Version:
$Id: Chat.java,v 1.15 2006/09/27 19:21:54 vlada Exp $
Author:
Bela Ban

Constructor Summary
Chat(java.lang.String props)
           
 
Method Summary
 void block()
          Called (usually by the FLUSH protocol), as an indication that the member should stop sending messages.
 byte[] getState()
          Answers the group state; e.g., when joining.
 void getState(java.io.OutputStream os)
          Allows an application to write a state through a provided OutputStream.
 byte[] getState(java.lang.String state_id)
          Allows an application to provide a partial state as a byte array
 void getState(java.lang.String state_id, java.io.OutputStream ostream)
          Allows an application to write a partial state through a provided OutputStream.
static void main(java.lang.String[] args)
           
 void mouseClicked(java.awt.event.MouseEvent e)
           
 void mouseEntered(java.awt.event.MouseEvent e)
           
 void mouseExited(java.awt.event.MouseEvent e)
           
 void mousePressed(java.awt.event.MouseEvent e)
           
 void mouseReleased(java.awt.event.MouseEvent e)
           
 void receive(Message msg)
          Called when a message is received.
 void setState(byte[] state)
          Sets the group state; e.g., when joining.
 void setState(java.io.InputStream is)
          Allows an application to read a state through a provided InputStream.
 void setState(java.lang.String state_id, byte[] state)
          Allows an application to read a partial state indicated by state_id from a given state byte array parameter.
 void setState(java.lang.String state_id, java.io.InputStream istream)
          Allows an application to read a partial state through a provided InputStream.
 void start()
           
 void suspect(Address suspected_mbr)
          Called whenever a member is suspected of having crashed, but has not yet been excluded.
 void unblock()
          Called after the FLUSH protocol has unblocked previously blocked senders, and messages can be sent again.
 void viewAccepted(View new_view)
          Called when a change in membership has occurred.
 void windowActivated(java.awt.event.WindowEvent e)
           
 void windowClosed(java.awt.event.WindowEvent e)
           
 void windowClosing(java.awt.event.WindowEvent e)
           
 void windowDeactivated(java.awt.event.WindowEvent e)
           
 void windowDeiconified(java.awt.event.WindowEvent e)
           
 void windowIconified(java.awt.event.WindowEvent e)
           
 void windowOpened(java.awt.event.WindowEvent e)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Chat

public Chat(java.lang.String props)
Method Detail

main

public static void main(java.lang.String[] args)

start

public void start()

receive

public void receive(Message msg)
Description copied from interface: MessageListener
Called when a message is received.

Specified by:
receive in interface MessageListener

getState

public byte[] getState(java.lang.String state_id)
Description copied from interface: ExtendedMessageListener
Allows an application to provide a partial state as a byte array

Specified by:
getState in interface ExtendedMessageListener
Parameters:
state_id - id of the partial state requested
Returns:
partial state for the given state_id

getState

public byte[] getState()
Description copied from interface: MessageListener
Answers the group state; e.g., when joining.

Specified by:
getState in interface MessageListener
Returns:
byte[]

setState

public void setState(byte[] state)
Description copied from interface: MessageListener
Sets the group state; e.g., when joining.

Specified by:
setState in interface MessageListener

setState

public void setState(java.lang.String state_id,
                     byte[] state)
Description copied from interface: ExtendedMessageListener
Allows an application to read a partial state indicated by state_id from a given state byte array parameter.

Specified by:
setState in interface ExtendedMessageListener
Parameters:
state_id - id of the partial state requested
state - partial state for the given state_id

getState

public void getState(java.io.OutputStream os)
Description copied from interface: ExtendedMessageListener
Allows an application to write a state through a provided OutputStream. An application is obligated to always close the given OutputStream reference.

Specified by:
getState in interface ExtendedMessageListener
Parameters:
os - the OutputStream
See Also:
OutputStream.close()

setState

public void setState(java.io.InputStream is)
Description copied from interface: ExtendedMessageListener
Allows an application to read a state through a provided InputStream. An application is obligated to always close the given InputStream reference.

Specified by:
setState in interface ExtendedMessageListener
Parameters:
is - the InputStream
See Also:
InputStream.close()

getState

public void getState(java.lang.String state_id,
                     java.io.OutputStream ostream)
Description copied from interface: ExtendedMessageListener
Allows an application to write a partial state through a provided OutputStream. An application is obligated to always close the given OutputStream reference.

Specified by:
getState in interface ExtendedMessageListener
Parameters:
state_id - id of the partial state requested
ostream - the OutputStream
See Also:
OutputStream.close()

setState

public void setState(java.lang.String state_id,
                     java.io.InputStream istream)
Description copied from interface: ExtendedMessageListener
Allows an application to read a partial state through a provided InputStream. An application is obligated to always close the given InputStream reference.

Specified by:
setState in interface ExtendedMessageListener
Parameters:
state_id - id of the partial state requested
istream - the InputStream
See Also:
InputStream.close()

viewAccepted

public void viewAccepted(View new_view)
Description copied from interface: MembershipListener
Called when a change in membership has occurred. No long running actions should be done in this callback. If some long running action needs to be performed, it should be done in a separate thread.

Specified by:
viewAccepted in interface MembershipListener

suspect

public void suspect(Address suspected_mbr)
Description copied from interface: MembershipListener
Called whenever a member is suspected of having crashed, but has not yet been excluded.

Specified by:
suspect in interface MembershipListener

block

public void block()
Description copied from interface: MembershipListener
Called (usually by the FLUSH protocol), as an indication that the member should stop sending messages. Any messages sent after returning from this callback might get blocked by the FLUSH protocol. When the FLUSH protocol is done, and messages can be sent again, the FLUSH protocol will simply unblock all pending messages. If a callback for unblocking is desired, implement ExtendedMembershipListener.unblock(). Note that block() is the equivalent of reception of a BlockEvent in the pull mode.

Specified by:
block in interface MembershipListener

unblock

public void unblock()
Description copied from interface: ExtendedMembershipListener
Called after the FLUSH protocol has unblocked previously blocked senders, and messages can be sent again. This callback only needs to be implemented if we require a notification of that.

Specified by:
unblock in interface ExtendedMembershipListener

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
Specified by:
mouseClicked in interface java.awt.event.MouseListener

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
Specified by:
mouseExited in interface java.awt.event.MouseListener

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
Specified by:
mousePressed in interface java.awt.event.MouseListener

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
Specified by:
mouseReleased in interface java.awt.event.MouseListener

windowActivated

public void windowActivated(java.awt.event.WindowEvent e)
Specified by:
windowActivated in interface java.awt.event.WindowListener

windowClosed

public void windowClosed(java.awt.event.WindowEvent e)
Specified by:
windowClosed in interface java.awt.event.WindowListener

windowClosing

public void windowClosing(java.awt.event.WindowEvent e)
Specified by:
windowClosing in interface java.awt.event.WindowListener

windowDeactivated

public void windowDeactivated(java.awt.event.WindowEvent e)
Specified by:
windowDeactivated in interface java.awt.event.WindowListener

windowDeiconified

public void windowDeiconified(java.awt.event.WindowEvent e)
Specified by:
windowDeiconified in interface java.awt.event.WindowListener

windowIconified

public void windowIconified(java.awt.event.WindowEvent e)
Specified by:
windowIconified in interface java.awt.event.WindowListener

windowOpened

public void windowOpened(java.awt.event.WindowEvent e)
Specified by:
windowOpened in interface java.awt.event.WindowListener


Copyright ? 1998-2006 Bela Ban. All Rights Reserved.