|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.erights.e.elib.vat.SendingContext | +--org.erights.e.elib.vat.PendingEvent | +--org.erights.e.elib.vat.PendingCall
Used for Vat.now(Runnable)
Field Summary | |
private Object |
myLock
Acts as a condition variable on "null == myOptTodo" |
private Throwable |
myOptProblem
If myOptTodo threw a problem, then this is the problem. |
private Runnable |
myOptTodo
If non-null, it is the thunk to be executed. |
Fields inherited from class org.erights.e.elib.vat.SendingContext |
|
Constructor Summary | |
(package private) |
PendingCall(Vat vat,
Runnable todo)
Captures creation context as sending context |
Method Summary | |
void |
__printOn(TextWriter out)
Enabled: |
void |
innerRun()
Called in the RunnerThread. |
void |
printContextOn(TextWriter out)
Enabled: |
void |
report(String msg,
Throwable problem)
Trace at warning level that this event caused this problem. |
void |
run()
Do now the event that this PendingEvent represents. |
(package private) void |
runNow()
Called in the thread doing the now() or callNow(). |
Methods inherited from class org.erights.e.elib.vat.SendingContext |
report, toString, trace |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
private final Object myLock
private Runnable myOptTodo
Iff null, then we assume the thunk has been executed.
private Throwable myOptProblem
Meaningful iff null == myOptTodo. If myOptProblem is also null, then myOptTodo completed successfully.
Constructor Detail |
PendingCall(Vat vat, Runnable todo)
Method Detail |
void runNow()
Blocks until myOptTodo completes in the RunnerThread, at which point the outcome of myOptTodo becomes the outcome of the runNow(), and therefore the outcome of now().
public void innerRun()
innerRun
in class PendingEvent
public void __printOn(TextWriter out) throws IOException
EPrintable
IOException
public final void run()
Does bookkeeping of debugging info around call to PendingEvent.innerRun()
,
including catching all thrown Exceptions that escape from
innerRun() reporting
them rather than propogating them.
run
in interface Runnable
java.lang.Thread#run()
public void report(String msg, Throwable problem)
public void printContextOn(TextWriter out) throws IOException
SendingContext
printContextOn
in class SendingContext
IOException
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |