Package org.jgroups.demos
Class TotalOrder
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- java.awt.Frame
-
- org.jgroups.demos.TotalOrder
-
- All Implemented Interfaces:
java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,javax.accessibility.Accessible
public class TotalOrder extends java.awt.FrameOriginally written to be a demo for TOTAL order (code to be written by a student). In the meantime, it evolved into a state transfer demo. All members maintain a shared matrix and continually broadcast changes to be applied to a randomly chosen field (e.g. multiplication of field with new value, division, addition, subtraction). Each member can be started independently (starts to broadcast update messages to all members). When "Stop" is pressed, a stop message is broadcast to all members, causing them to stop sending messages. The "Clear" button clears the shared state; "GetState" refreshes it from the shared group state (using the state transfer protocol).If the demo is to be used to show total order, then the SEQUENCER protocol would have to be added to the stack.
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classTotalOrder.EventHandler(package private) classTotalOrder.SenderThread-
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
-
-
Field Summary
Fields Modifier and Type Field Description (package private) java.awt.Panelbutton_panel(package private) MyCanvascanvas(package private) JChannelchannel(package private) java.awt.Buttonclear(package private) java.awt.Fontdef_font(package private) java.awt.Fontdef_font2(package private) intfield_size(package private) java.awt.Buttonget_state(package private) java.awt.MenuBarmenubarprivate intnumprivate intnum_additionsprivate intnum_divisions(package private) intnum_fieldsprivate intnum_multiplicationsprivate intnum_subtractions(package private) java.awt.Buttonquit(package private) TotalOrder.SenderThreadsender(package private) java.awt.Buttonstart(package private) java.awt.Buttonstop(package private) longtimeout(package private) static intx_offset(package private) static inty_offset-
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
-
-
Constructor Summary
Constructors Constructor Description TotalOrder(java.lang.String title, long timeout, int num_fields, int field_size, java.lang.String props, int num)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.awt.MenuBarcreateMenuBar()private TotOrderRequestcreateRandomRequest()(package private) static voiderror(java.lang.String s)protected static voidhelp()static voidmain(java.lang.String[] args)(package private) voidprocessRequest(TotOrderRequest req)(package private) voidstartSender()(package private) voidstopSender()-
Methods inherited from class java.awt.Frame
addNotify, getAccessibleContext, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, paramString, remove, removeNotify, setBackground, setCursor, setExtendedState, setIconImage, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
-
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusDownCycle, update, validate, validateTree
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
def_font
final java.awt.Font def_font
-
def_font2
final java.awt.Font def_font2
-
canvas
MyCanvas canvas
-
menubar
final java.awt.MenuBar menubar
-
start
final java.awt.Button start
-
stop
final java.awt.Button stop
-
clear
final java.awt.Button clear
-
get_state
final java.awt.Button get_state
-
quit
final java.awt.Button quit
-
button_panel
final java.awt.Panel button_panel
-
sender
TotalOrder.SenderThread sender
-
channel
JChannel channel
-
timeout
long timeout
-
field_size
int field_size
-
num_fields
int num_fields
-
x_offset
static final int x_offset
- See Also:
- Constant Field Values
-
y_offset
static final int y_offset
- See Also:
- Constant Field Values
-
num
private int num
-
num_additions
private int num_additions
-
num_subtractions
private int num_subtractions
-
num_divisions
private int num_divisions
-
num_multiplications
private int num_multiplications
-
-
Method Detail
-
error
static void error(java.lang.String s)
-
processRequest
void processRequest(TotOrderRequest req) throws java.lang.Exception
- Throws:
java.lang.Exception
-
startSender
void startSender()
-
stopSender
void stopSender()
-
createMenuBar
private java.awt.MenuBar createMenuBar()
-
createRandomRequest
private TotOrderRequest createRandomRequest()
-
main
public static void main(java.lang.String[] args)
-
help
protected static void help()
-
-