EVEDemo.PSWEEP
Class UpdateView

java.lang.Object
  |
  +--java.lang.Thread
        |
        +--EVEDemo.SWEEP.UpdateView
              |
              +--EVEDemo.PSWEEP.UpdateView

public class UpdateView
extends UpdateView
implements java.io.Serializable

See Also:
Serialized Form

Field Summary
 java.util.Hashtable[] JCAttrs
          The Join Condition for the Local Compensation
(package private) static int maxThreads
          The Maximum Threads can run on this machine.
(package private)  PPUSet PPU
           
(package private) static int PPUsize
          "1" like SWEEP, if ">1" then it is PSWEEP
(package private)  RPUSet RPU
           
(package private)  int threads
          The counter of threads of view changes
 Lock UPRLock
          Actually, we have three kinds of transactions between UMQ, PPU, and RPU.
 
Fields inherited from class EVEDemo.SWEEP.UpdateView
EVEview, finished, n, publicFIFOChannel, UpdateMessageQueue, View
 
Fields inherited from class java.lang.Thread
contextClassLoader, daemon, eetop, group, inheritedAccessControlContext, MAX_PRIORITY, MIN_PRIORITY, name, NORM_PRIORITY, priority, single_step, stillborn, stopThreadPermission, target, threadInitNumber, threadQ, values
 
Constructor Summary
UpdateView(MultiQueue theFIFOChannel, Queue theMessageQueue, ViewDefinition theView)
           
 
Method Summary
 void finishDU()
          Callback function for ViewChange.
 void run()
           
 
Methods inherited from class EVEDemo.SWEEP.UpdateView
setn, setView, ViewChange
 
Methods inherited from class java.lang.Thread
, activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, exit, getContextClassLoader, getName, getPriority, getThreadGroup, init, interrupt, interrupt0, interrupted, isAlive, isDaemon, isInterrupted, isInterrupted, join, join, join, nextThreadNum, registerNatives, resume, resume0, setContextClassLoader, setDaemon, setName, setPriority, setPriority0, sleep, sleep, start, stop, stop, stop0, suspend, suspend0, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

PPU

PPUSet PPU

RPU

RPUSet RPU

UPRLock

public Lock UPRLock
Actually, we have three kinds of transactions between UMQ, PPU, and RPU. 1. move UMQ to PPU. 2. move PPU to RPU. 3. take snapeshot of UMQ and PPU and RPU. They are all locked each other. in this case, I created one global lock called UPR(UMQ, PPU, RPU) lock.

PPUsize

static final int PPUsize
"1" like SWEEP, if ">1" then it is PSWEEP

JCAttrs

public java.util.Hashtable[] JCAttrs
The Join Condition for the Local Compensation

threads

int threads
The counter of threads of view changes

maxThreads

static int maxThreads
The Maximum Threads can run on this machine. Say 10000.
Constructor Detail

UpdateView

public UpdateView(MultiQueue theFIFOChannel,
                  Queue theMessageQueue,
                  ViewDefinition theView)
Method Detail

run

public void run()
Overrides:
run in class UpdateView

finishDU

public void finishDU()
Callback function for ViewChange. When the ViewChange terminated, it will decrease a counter when the counter is 0 and UMQ is empty, all the data updates are handled and system in queiscence state. then, we can stop the timer.