|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Op
Basic operation abstraction. Don't extend java.rmi.Remote!
Method Summary | |
---|---|
Invocation |
call()
Invoke this operation synchronously. |
Invocation |
call(Invocation originalInv)
Invoke this operation synchronously. |
boolean |
canAppearInInni()
Can this operation be serviced by an inni? Only an OpInni can. |
void |
deliverPendingMessages()
If operation's queue of pending invocations was locked due to equivalence class locking stuff (e.g., merging), then deliver pending messages. |
OpInniIterator |
elements()
Get an iterator to iterate over pending invocations of this operation. |
long |
getFirstTime()
Get the timestamp of the first (oldest) pending invocation of this operation. |
java.lang.String |
getId()
Returns unique identifier for this operation. |
InLock |
getLock()
Get the equivalence class lock for this operation. |
boolean |
isNoop()
Determines whether this operation is a noop . |
boolean |
isRemote(java.lang.String site)
Is this operation on a remote VM or on the current VM? |
int |
length()
Returns the number of Invocations pending for this operation. |
Invocation |
P()
A semaphore P (aka down) operation. |
Invocation |
receive()
Get the first (oldest) pending invocation of this OpInni . |
void |
send()
Invoke this operation asynchronously. |
void |
send(Invocation originalInv)
Invoke this operation asynchronously. |
void |
V()
A semaphore V (aka up) operation. |
Method Detail |
---|
boolean isNoop() throws java.rmi.RemoteException
noop
.
noop
.
java.rmi.RemoteException
void send(Invocation originalInv) throws java.rmi.RemoteException
originalInv
- The invocation to service.
java.rmi.RemoteException
void send() throws java.rmi.RemoteException
this.send (new Invocation(...));
See send(edu.ucdavis.rj.Ops.Invocation)
.
java.rmi.RemoteException
void V() throws java.rmi.RemoteException
OpInni
's semaphore operations.
java.rmi.RemoteException
Invocation call(Invocation originalInv) throws java.rmi.RemoteException
inv
- The invocation to service.
N.B., (the reference for) the returned invocation might not be the
same as inv
.
For example, do NOT use, e.g.,
Invocation inv = new Invocation(...);
thefun.call(inv);
System.out.println(inv.getReturnValue());
because inv
's value after the call
will be the same
as its value before the call, and inv.getReturnValue()
will
likely be null
.
Instead, in this example, use
inv = thefun.call(inv);
.
java.rmi.RemoteException
Invocation call() throws java.rmi.RemoteException
this.call (new Invocation(...));
See call(edu.ucdavis.rj.Ops.Invocation)
.
java.rmi.RemoteException
Invocation receive() throws java.rmi.RemoteException
OpInni
.
Wait if no invocation is pending.
rjRunTimeError
- if this Op
is an OpMethod
.
java.rmi.RemoteException
Invocation P() throws java.rmi.RemoteException
OpInni
's semaphore operations.
rjRunTimeError
- if this Op
is an OpMethod
.
java.rmi.RemoteException
int length() throws java.rmi.RemoteException
java.rmi.RemoteException
java.lang.String getId() throws java.rmi.RemoteException
java.rmi.RemoteException
long getFirstTime() throws java.rmi.RemoteException
rjRunTimeError
- if this Op
is an OpMethod
.
java.rmi.RemoteException
boolean canAppearInInni() throws java.rmi.RemoteException
OpInni
can.
true
if and only if this operation is an OpInni
.
java.rmi.RemoteException
InLock getLock() throws java.rmi.RemoteException
java.rmi.RemoteException
boolean isRemote(java.lang.String site) throws java.rmi.RemoteException
true
if and only if this operation is remote.
java.rmi.RemoteException
void deliverPendingMessages() throws java.rmi.RemoteException
rjRunTimeError
- if this Op
is an OpMethod
.
java.rmi.RemoteException
OpInniIterator elements() throws java.rmi.RemoteException
rjRunTimeError
- if this Op
is an OpMethod
.
java.rmi.RemoteException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |