public class ACCProxyAgentSide extends java.lang.Object implements EnhancedACC
user
to fruitfully interact with
the TuCSoN Node Service TuCSoN
. Essentially, it implements every method exposed in the Default ACC
Interface default
offered to the agent,
maps each of them into TuCSoN Request Messages
req
, then waits for TuCSoN Node
Services replies reply
forwarding
them to the agent.
It also is in charge of establishing the first connection toward the TuCSoN
Node Service and the specific tuplecentre inside it as soon as needed (that
is, upon the first invocation of any method belonging to the ACC Interface).
It is created from the TuCSoN Agent class. In it, an internal thread is
responsible to obtain the choosen ACC (the Default is the only at the moment)
by invoking the getContext
static method from the TuCSoN Meta ACC class
metaACC
. The acquisition of such ACC
triggers this proxy creation and execution.TucsonAgent
,
TucsonNodeService
,
DefaultACC
,
TucsonMsgRequest
,
TucsonMsgReply
,
TucsonMetaACC
Modifier and Type | Field and Description |
---|---|
protected TucsonAgentId |
aid
TuCSoN Agent Identifier
|
protected OperationHandler |
executor |
protected java.lang.String |
node
TuCSoN Node Service ip address
|
protected int |
port
TuCSoN Node Service listening port
|
Constructor and Description |
---|
ACCProxyAgentSide(java.lang.String id)
Default constructor: exploits the default port (20504) in the "localhost"
TuCSoN Node Service
|
ACCProxyAgentSide(java.lang.String id,
java.lang.String n,
int p)
Complete constructor: starts the named TuCSoN Agent on the specific
TuCSoN node listening on the specified port
|
Modifier and Type | Method and Description |
---|---|
void |
exit()
Release of the ACC and exit from the TuCSoN system.
|
ITucsonOperation |
get(TupleCentreId tid,
java.lang.Long timeout)
get TuCSoN primitive, reads (w/o removing) all the tuples in
the given target tuplecentre. |
ITucsonOperation |
get(TupleCentreId tid,
TucsonOperationCompletionListener l)
get TuCSoN primitive, reads (w/o removing) all the tuples in
the given target tuplecentre. |
java.util.List<TucsonOpCompletionEvent> |
getCompletionEventsList() |
java.util.Map<java.lang.Long,TucsonOperation> |
getPendingOperationsMap() |
ITucsonOperation |
getS(TupleCentreId tid,
java.lang.Long timeout)
get_s specification primitive, reads (w/o removing) all the
ReSpecT specification tuples from the given target tuplecentre
specification space. |
ITucsonOperation |
getS(TupleCentreId tid,
TucsonOperationCompletionListener l)
get_s specification primitive, reads (w/o removing) all the
ReSpecT specification tuples from the given target tuplecentre
specification space. |
ITucsonOperation |
in(TupleCentreId tid,
Tuple tuple,
java.lang.Long timeout)
in Linda primitive, retrieves the specified tuple from the
given target tuplecentre. |
ITucsonOperation |
in(TupleCentreId tid,
Tuple tuple,
TucsonOperationCompletionListener l)
in Linda primitive, retrieves the specified tuple from the
given target tuplecentre. |
ITucsonOperation |
inAll(TupleCentreId tid,
Tuple tuple,
java.lang.Long timeout)
Withdraws from the space all the tuples matching the given template in
one shot (a single transition step).
|
ITucsonOperation |
inAll(TupleCentreId tid,
Tuple tuple,
TucsonOperationCompletionListener l)
Withdraws from the space all the tuples matching the given template in
one shot (a single transition step).
|
ITucsonOperation |
inp(TupleCentreId tid,
Tuple tuple,
java.lang.Long timeout)
inp Linda primitive, retrieves the specified tuple from the
given target tuplecentre. |
ITucsonOperation |
inp(TupleCentreId tid,
Tuple tuple,
TucsonOperationCompletionListener l)
inp Linda primitive, retrieves the specified tuple in the
given target tuplecentre. |
ITucsonOperation |
inpS(TupleCentreId tid,
LogicTuple event,
LogicTuple guards,
LogicTuple reactionBody,
java.lang.Long timeout)
inp_s specification primitive, retrieves a ReSpecT Reaction
Specification from the given target tuplecentre specification space. |
ITucsonOperation |
inpS(TupleCentreId tid,
LogicTuple event,
LogicTuple guards,
LogicTuple reactionBody,
TucsonOperationCompletionListener l)
inp_s specification primitive, retrieves a ReSpecT Reaction
Specification from the given target tuplecentre specification space. |
ITucsonOperation |
inS(TupleCentreId tid,
LogicTuple event,
LogicTuple guards,
LogicTuple reactionBody,
java.lang.Long timeout)
in_s specification primitive, retrieves a ReSpecT Reaction
Specification from the given target tuplecentre specification space. |
ITucsonOperation |
inS(TupleCentreId tid,
LogicTuple event,
LogicTuple guards,
LogicTuple reactionBody,
TucsonOperationCompletionListener l)
in_s specification primitive, retrieves a ReSpecT Reaction
Specification from the given target tuplecentre specification space. |
protected void |
log(java.lang.String msg)
Method internally used to log proxy activity (could be used for debug)
|
ITucsonOperation |
no(TupleCentreId tid,
Tuple tuple,
java.lang.Long timeout)
no TuCSoN primitive, checks absence of the specified tuple
in the given target tuplecentre. |
ITucsonOperation |
no(TupleCentreId tid,
Tuple tuple,
TucsonOperationCompletionListener l)
no TuCSoN primitive, checks absence of the specified tuple
in the given target tuplecentre. |
ITucsonOperation |
noAll(TupleCentreId tid,
Tuple tuple,
java.lang.Long timeout)
Checks absence from the space of any tuples matching the given template
in one shot (a single transition step).
|
ITucsonOperation |
noAll(TupleCentreId tid,
Tuple tuple,
TucsonOperationCompletionListener l)
Checks absence from the space of any tuples matching the given template
in one shot (a single transition step).
|
ITucsonOperation |
nop(TupleCentreId tid,
Tuple tuple,
java.lang.Long timeout)
nop TuCSoN primitive, checks absence of the specified tuple
in the given target tuplecentre. |
ITucsonOperation |
nop(TupleCentreId tid,
Tuple tuple,
TucsonOperationCompletionListener l)
nop TuCSoN primitive, checks absence of the specified tuple
in the given target tuplecentre. |
ITucsonOperation |
nopS(TupleCentreId tid,
LogicTuple event,
LogicTuple guards,
LogicTuple reactionBody,
java.lang.Long timeout)
nop_s specification primitive, checks absence of the a
ReSpecT Reaction in the given target tuplecentre specification space. |
ITucsonOperation |
nopS(TupleCentreId tid,
LogicTuple event,
LogicTuple guards,
LogicTuple reactionBody,
TucsonOperationCompletionListener l)
nop_s specification primitive, checks absence of the a
ReSpecT Reaction in the given target tuplecentre specification space. |
ITucsonOperation |
noS(TupleCentreId tid,
LogicTuple event,
LogicTuple guards,
LogicTuple reactionBody,
java.lang.Long timeout)
no_s specification primitive, checks absence of the a
ReSpecT Reaction in the given target tuplecentre specification space. |
ITucsonOperation |
noS(TupleCentreId tid,
LogicTuple event,
LogicTuple guards,
LogicTuple reactionBody,
TucsonOperationCompletionListener l)
no_s specification primitive, checks absence of the a
ReSpecT Reaction in the given target tuplecentre specification space. |
ITucsonOperation |
out(TupleCentreId tid,
Tuple tuple,
java.lang.Long timeout)
out Linda primitive, inserts the specified tuple in the
given target tuplecentre. |
ITucsonOperation |
out(TupleCentreId tid,
Tuple tuple,
TucsonOperationCompletionListener l)
out Linda primitive, inserts the specified tuple in the
given target tuplecentre. |
ITucsonOperation |
outAll(TupleCentreId tid,
Tuple tuple,
java.lang.Long timeout)
Inject in the space a list of tuples in one shot (a single transition
step).
|
ITucsonOperation |
outAll(TupleCentreId tid,
Tuple tuple,
TucsonOperationCompletionListener l)
Inject in the space a list of tuples in one shot (a single transition
step).
|
ITucsonOperation |
outS(TupleCentreId tid,
LogicTuple event,
LogicTuple guards,
LogicTuple reactionBody,
java.lang.Long timeout)
out_s specification primitive, adds the ReSpecT Reaction
Specification in the given target tuplecentre specification space. |
ITucsonOperation |
outS(TupleCentreId tid,
LogicTuple event,
LogicTuple guards,
LogicTuple reactionBody,
TucsonOperationCompletionListener l)
out_s specification primitive, adds the ReSpecT Reaction
Specification in the given target tuplecentre specification space. |
ITucsonOperation |
rd(TupleCentreId tid,
Tuple tuple,
java.lang.Long timeout)
rd Linda primitive, reads (w/o removing) the specified tuple
from the given target tuplecentre. |
ITucsonOperation |
rd(TupleCentreId tid,
Tuple tuple,
TucsonOperationCompletionListener l)
rd Linda primitive, reads (w/o removing) the specified tuple
from the given target tuplecentre. |
ITucsonOperation |
rdAll(TupleCentreId tid,
Tuple tuple,
java.lang.Long timeout)
Reads from the space all the tuples matching the given template in one
shot (a single transition step).
|
ITucsonOperation |
rdAll(TupleCentreId tid,
Tuple tuple,
TucsonOperationCompletionListener l)
Reads from the space all the tuples matching the given template in one
shot (a single transition step).
|
ITucsonOperation |
rdp(TupleCentreId tid,
Tuple tuple,
java.lang.Long timeout)
rdp Linda primitive, reads (w/o removing) the specified
tuple from the given target tuplecentre. |
ITucsonOperation |
rdp(TupleCentreId tid,
Tuple tuple,
TucsonOperationCompletionListener l)
rdp Linda primitive, reads (w/o removing) the specified
tuple in the given target tuplecentre. |
ITucsonOperation |
rdpS(TupleCentreId tid,
LogicTuple event,
LogicTuple guards,
LogicTuple reactionBody,
java.lang.Long timeout)
rdp_s specification primitive, reads (w/o removing) a
ReSpecT Reaction Specification from the given target tuplecentre
specification space. |
ITucsonOperation |
rdpS(TupleCentreId tid,
LogicTuple event,
LogicTuple guards,
LogicTuple reactionBody,
TucsonOperationCompletionListener l)
rdp_s specification primitive, reads (w/o removing) a
ReSpecT Reaction Specification from the given target tuplecentre
specification space. |
ITucsonOperation |
rdS(TupleCentreId tid,
LogicTuple event,
LogicTuple guards,
LogicTuple reactionBody,
java.lang.Long timeout)
in_s specification primitive, reads (w/o removing) a ReSpecT
Reaction Specification from the given target tuplecentre specification
space. |
ITucsonOperation |
rdS(TupleCentreId tid,
LogicTuple event,
LogicTuple guards,
LogicTuple reactionBody,
TucsonOperationCompletionListener l)
rd_s specification primitive, reads (w/o removing) a ReSpecT
Reaction Specification from the given target tuplecentre specification
space. |
ITucsonOperation |
set(TupleCentreId tid,
Tuple tuple,
java.lang.Long timeout)
set TuCSoN primitive, to replace all the tuples in the given
target tuplecentre with that specified in the given list. |
ITucsonOperation |
set(TupleCentreId tid,
Tuple tuple,
TucsonOperationCompletionListener l)
set TuCSoN primitive, to replace all the tuples in the given
target tuplecentre with that specified in the given list. |
ITucsonOperation |
setS(TupleCentreId tid,
LogicTuple spec,
java.lang.Long timeout)
set_s specification primitive, to replace all the ReSpecT
specification tuples in the given target tuplecentre specification space
with that specified in the given tuple. |
ITucsonOperation |
setS(TupleCentreId tid,
LogicTuple spec,
TucsonOperationCompletionListener l)
set_s specification primitive, to replace all the ReSpecT
specification tuples in the given target tuplecentre specification space
with that specified in the given tuple. |
ITucsonOperation |
setS(TupleCentreId tid,
java.lang.String spec,
java.lang.Long timeout)
set_s specification primitive, to replace all the ReSpecT
specification tuples in the given target tuplecentre specification space
with that specified in the given String. |
ITucsonOperation |
setS(TupleCentreId tid,
java.lang.String spec,
TucsonOperationCompletionListener l)
set_s specification primitive, to replace all the ReSpecT
specification tuples in the given target tuplecentre specification space
with that specified in the given String. |
ITucsonOperation |
spawn(TupleCentreId tid,
Tuple toSpawn,
java.lang.Long timeout)
spawn TuCSoN primitive, starts a parallel computational
activity within the target node. |
ITucsonOperation |
spawn(TupleCentreId tid,
Tuple toSpawn,
TucsonOperationCompletionListener l)
spawn TuCSoN primitive, starts a parallel computational
activity within the target node. |
ITucsonOperation |
uin(TupleCentreId tid,
Tuple tuple,
java.lang.Long timeout)
uin TuCSoN primitive, retrieves the specified tuple from the
given target tuplecentre. |
ITucsonOperation |
uin(TupleCentreId tid,
Tuple tuple,
TucsonOperationCompletionListener l)
uin TuCSoN primitive, retrieves the specified tuple from the
given target tuplecentre. |
ITucsonOperation |
uinp(TupleCentreId tid,
Tuple tuple,
java.lang.Long timeout)
uinp TuCSoN primitive, retrieves the specified tuple from
the given target tuplecentre. |
ITucsonOperation |
uinp(TupleCentreId tid,
Tuple tuple,
TucsonOperationCompletionListener l)
uinp TuCSoN primitive, retrieves the specified tuple in the
given target tuplecentre. |
ITucsonOperation |
uno(TupleCentreId tid,
Tuple tuple,
java.lang.Long timeout)
uno TuCSoN primitive, checks absence of the specified tuple
in the given target tuplecentre. |
ITucsonOperation |
uno(TupleCentreId tid,
Tuple tuple,
TucsonOperationCompletionListener l)
uno TuCSoN primitive, checks absence of the specified tuple
in the given target tuplecentre. |
ITucsonOperation |
unop(TupleCentreId tid,
Tuple tuple,
java.lang.Long timeout)
unop TuCSoN primitive, checks absence of the specified tuple
in the given target tuplecentre. |
ITucsonOperation |
unop(TupleCentreId tid,
Tuple tuple,
TucsonOperationCompletionListener l)
unop TuCSoN primitive, checks absence of the specified tuple
in the given target tuplecentre. |
ITucsonOperation |
urd(TupleCentreId tid,
Tuple tuple,
java.lang.Long timeout)
urd TuCSoN primitive, reads (w/o removing) the specified
tuple from the given target tuplecentre. |
ITucsonOperation |
urd(TupleCentreId tid,
Tuple tuple,
TucsonOperationCompletionListener l)
urd TuCSoN primitive, reads (w/o removing) the specified
tuple from the given target tuplecentre. |
ITucsonOperation |
urdp(TupleCentreId tid,
Tuple tuple,
java.lang.Long timeout)
urdp TuCSoN primitive, reads (w/o removing) the specified
tuple from the given target tuplecentre. |
ITucsonOperation |
urdp(TupleCentreId tid,
Tuple tuple,
TucsonOperationCompletionListener l)
urdp TuCSoN primitive, reads (w/o removing) the specified
tuple in the given target tuplecentre. |
protected TucsonAgentId aid
protected OperationHandler executor
protected java.lang.String node
protected int port
public ACCProxyAgentSide(java.lang.String id) throws TucsonInvalidAgentIdException
id
- TuCSoN Agent identifierTucsonInvalidAgentIdException
- if the String representation given is not valid TuCSoN agent
identifierpublic ACCProxyAgentSide(java.lang.String id, java.lang.String n, int p) throws TucsonInvalidAgentIdException
id
- TuCSoN Agent identifiern
- TuCSoN node ip addressp
- TuCSoN node listening portTucsonInvalidAgentIdException
- if the String representation given is not valid TuCSoN agent
identifierpublic void exit()
RootACC
public ITucsonOperation get(TupleCentreId tid, java.lang.Long timeout) throws TucsonOperationNotPossibleException, UnreachableNodeException, OperationTimeOutException
OrdinarySynchACC
get
TuCSoN primitive, reads (w/o removing) all the tuples in
the given target tuplecentre.
Semantics is NOT SUSPENSIVE: if the tuple space is empty, an empty list
is returned to the TuCSoN Agent exploiting this ACC.get
in interface OrdinarySynchACC
tid
- the target TuCSoN tuplecentre id
tid
timeout
- the maximum waiting time for completion tolerated by the
TuCSoN agent behind this ACC. Notice that reaching the timeout
just unblocks the agent, but the request IS NOT REMOVED from
TuCSoN node pending requests (will still be served at sometime
in the future).TucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkOperationTimeOutException
- if the operation timeout expired prior to operation
completionTupleCentreId
,
ITucsonOperation
public ITucsonOperation get(TupleCentreId tid, TucsonOperationCompletionListener l) throws TucsonOperationNotPossibleException, UnreachableNodeException
OrdinaryAsynchACC
get
TuCSoN primitive, reads (w/o removing) all the tuples in
the given target tuplecentre.
Semantics is NOT SUSPENSIVE: if the tuple space is empty, an empty list
is returned to the TuCSoN Agent exploiting this ACC.get
in interface OrdinaryAsynchACC
tid
- the target TuCSoN tuplecentre id
tid
l
- the listener who should be notified upon operation completionTucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkTupleCentreId
,
TucsonOperationCompletionListener
,
ITucsonOperation
public java.util.List<TucsonOpCompletionEvent> getCompletionEventsList()
getCompletionEventsList
in interface BulkAsynchACC
getCompletionEventsList
in interface OrdinaryAsynchACC
getCompletionEventsList
in interface SpecificationAsynchACC
getCompletionEventsList
in interface UniformAsynchACC
public java.util.Map<java.lang.Long,TucsonOperation> getPendingOperationsMap()
getPendingOperationsMap
in interface RootACC
public ITucsonOperation getS(TupleCentreId tid, java.lang.Long timeout) throws TucsonOperationNotPossibleException, UnreachableNodeException, OperationTimeOutException
SpecificationSynchACC
get_s
specification primitive, reads (w/o removing) all the
ReSpecT specification tuples from the given target tuplecentre
specification space.
Semantics is NOT SUSPENSIVE: if the specification space is empty, an
empty list is returned to the TuCSoN Agent exploiting this ACC.getS
in interface SpecificationSynchACC
tid
- the target TuCSoN tuplecentre id
tid
timeout
- the maximum waiting time for completion tolerated by the
TuCSoN agent behind this ACC. Notice that reaching the timeout
just unblocks the agent, but the request IS NOT REMOVED from
TuCSoN node pending requests (will still be served at sometime
in the future).TucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkOperationTimeOutException
- if the operation timeout expired prior to operation
completionTupleCentreId
,
ITucsonOperation
public ITucsonOperation getS(TupleCentreId tid, TucsonOperationCompletionListener l) throws TucsonOperationNotPossibleException, UnreachableNodeException
SpecificationAsynchACC
get_s
specification primitive, reads (w/o removing) all the
ReSpecT specification tuples from the given target tuplecentre
specification space.
Semantics is NOT SUSPENSIVE: if the specification space is empty, an
empty list is returned to the TuCSoN Agent exploiting this ACC.getS
in interface SpecificationAsynchACC
tid
- the target TuCSoN tuplecentre id
tid
l
- the listener who should be notified upon operation completionTucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkTupleCentreId
,
TucsonOperationCompletionListener
,
ITucsonOperation
public ITucsonOperation in(TupleCentreId tid, Tuple tuple, java.lang.Long timeout) throws TucsonOperationNotPossibleException, UnreachableNodeException, OperationTimeOutException
OrdinarySynchACC
in
Linda primitive, retrieves the specified tuple from the
given target tuplecentre.
Notice that the primitive semantics is SUSPENSIVE: until no tuple is
found to match the given template, no success completion answer is
forwarded to the TuCSoN Agent exploiting this ACC, which then is blocked
waiting.in
in interface OrdinarySynchACC
tid
- the target TuCSoN tuplecentre id
tid
tuple
- the tuple to be retrieved from the target tuplecentretimeout
- the maximum waiting time for completion tolerated by the
TuCSoN agent behind this ACC. Notice that reaching the timeout
just unblocks the agent, but the request IS NOT REMOVED from
TuCSoN node pending requests (will still be served at sometime
in the future).TucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkOperationTimeOutException
- if the operation timeout expired prior to operation
completionTupleCentreId
,
ITucsonOperation
public ITucsonOperation in(TupleCentreId tid, Tuple tuple, TucsonOperationCompletionListener l) throws TucsonOperationNotPossibleException, UnreachableNodeException
OrdinaryAsynchACC
in
Linda primitive, retrieves the specified tuple from the
given target tuplecentre.
Notice that the primitive semantics is still SUSPENSIVE: until no tuple
is found to match the given template, no success completion answer is
forwarded to the TuCSoN Agent exploiting this ACC, but thanks to
asynchronous behaviour the TuCSoN Agent could do something else instead
of getting stuck.in
in interface OrdinaryAsynchACC
tid
- the target TuCSoN tuplecentre id
tid
tuple
- the tuple to be retrieved from the target tuplecentrel
- the listener who should be notified upon operation completionTucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkTupleCentreId
,
TucsonOperationCompletionListener
,
ITucsonOperation
public ITucsonOperation inAll(TupleCentreId tid, Tuple tuple, java.lang.Long timeout) throws TucsonOperationNotPossibleException, UnreachableNodeException, OperationTimeOutException
BulkSynchACC
inAll
in interface BulkSynchACC
tid
- the TupleCentreId of the target tuple centretuple
- the tuple template to be used to retrieve tuplestimeout
- the maximum waiting time for completion tolerated by the
TuCSoN agent behind this ACC. Notice that reaching the timeout
just unblocks the agent, but the request IS NOT REMOVED from
TuCSoN node pending requests (will still be served at sometime
in the future).TucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkOperationTimeOutException
- if the operation timeout expired prior to operation
completionTupleCentreId
,
TucsonOperationCompletionListener
,
ITucsonOperation
,
Struct
public ITucsonOperation inAll(TupleCentreId tid, Tuple tuple, TucsonOperationCompletionListener l) throws TucsonOperationNotPossibleException, UnreachableNodeException
BulkAsynchACC
inAll
in interface BulkAsynchACC
tid
- the TupleCentreId of the target tuple centretuple
- the tuple template to be used to retrieve tuplesl
- who to notify upon operation completionTucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkTupleCentreId
,
TucsonOperationCompletionListener
,
ITucsonOperation
,
Struct
public ITucsonOperation inp(TupleCentreId tid, Tuple tuple, java.lang.Long timeout) throws TucsonOperationNotPossibleException, UnreachableNodeException, OperationTimeOutException
OrdinarySynchACC
inp
Linda primitive, retrieves the specified tuple from the
given target tuplecentre.
This time the primitive semantics is NOT SUSPENSIVE: if no tuple is found
to match the given template, a failure completion answer is forwarded to
the TuCSoN Agent exploiting this ACC.inp
in interface OrdinarySynchACC
tid
- the target TuCSoN tuplecentre id
tid
tuple
- the tuple to be retrieved from the target tuplecentretimeout
- the maximum waiting time for completion tolerated by the
TuCSoN agent behind this ACC. Notice that reaching the timeout
just unblocks the agent, but the request IS NOT REMOVED from
TuCSoN node pending requests (will still be served at sometime
in the future).TucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkOperationTimeOutException
- if the operation timeout expired prior to operation
completionTupleCentreId
,
ITucsonOperation
public ITucsonOperation inp(TupleCentreId tid, Tuple tuple, TucsonOperationCompletionListener l) throws TucsonOperationNotPossibleException, UnreachableNodeException
OrdinaryAsynchACC
inp
Linda primitive, retrieves the specified tuple in the
given target tuplecentre.
This time the primitive semantics is NOT SUSPENSIVE: if no tuple is found
to match the given template, a failure completion answer is forwarded to
the TuCSoN Agent exploiting this ACC.inp
in interface OrdinaryAsynchACC
tid
- the target TuCSoN tuplecentre id
tid
tuple
- the tuple to be retrieved from the target tuplecentrel
- the listener who should be notified upon operation completionTucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkTupleCentreId
,
TucsonOperationCompletionListener
,
ITucsonOperation
public ITucsonOperation inpS(TupleCentreId tid, LogicTuple event, LogicTuple guards, LogicTuple reactionBody, java.lang.Long timeout) throws TucsonOperationNotPossibleException, UnreachableNodeException, OperationTimeOutException
SpecificationSynchACC
inp_s
specification primitive, retrieves a ReSpecT Reaction
Specification from the given target tuplecentre specification space.
This time the primitive semantics is NOT SUSPENSIVE: if no ReSpecT
specification is found to match the given template, a failure completion
answer is forwarded to the TuCSoN Agent exploiting this ACC.inpS
in interface SpecificationSynchACC
tid
- the target TuCSoN tuplecentre id
tid
event
- the template for the TuCSoN primitive to react toguards
- the template for the guard predicates to be checked for
satisfaction so to actually trigger the body of the ReSpecT
reactionreactionBody
- the template for the computation to be done in response to the
event
timeout
- the maximum waiting time for completion tolerated by the
TuCSoN agent behind this ACC. Notice that reaching the timeout
just unblocks the agent, but the request IS NOT REMOVED from
TuCSoN node pending requests (will still be served at sometime
in the future).TucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkOperationTimeOutException
- if the operation timeout expired prior to operation
completionTupleCentreId
,
ITucsonOperation
public ITucsonOperation inpS(TupleCentreId tid, LogicTuple event, LogicTuple guards, LogicTuple reactionBody, TucsonOperationCompletionListener l) throws TucsonOperationNotPossibleException, UnreachableNodeException
SpecificationAsynchACC
inp_s
specification primitive, retrieves a ReSpecT Reaction
Specification from the given target tuplecentre specification space.
This time the primitive semantics is NOT SUSPENSIVE: if no ReSpecT
specification is found to match the given template, a failure completion
answer is forwarded to the TuCSoN Agent exploiting this ACC.inpS
in interface SpecificationAsynchACC
tid
- the target TuCSoN tuplecentre id
tid
event
- the template for the TuCSoN primitive to react toguards
- the template for the guard predicates to be checked for
satisfaction so to actually trigger the body of the ReSpecT
reactionreactionBody
- the template for the computation to be done in response to the
event
l
- the listener who should be notified upon operation completionTucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkTupleCentreId
,
TucsonOperationCompletionListener
,
ITucsonOperation
public ITucsonOperation inS(TupleCentreId tid, LogicTuple event, LogicTuple guards, LogicTuple reactionBody, java.lang.Long timeout) throws TucsonOperationNotPossibleException, UnreachableNodeException, OperationTimeOutException
SpecificationSynchACC
in_s
specification primitive, retrieves a ReSpecT Reaction
Specification from the given target tuplecentre specification space.
Notice that the primitive semantics is SUSPENSIVE: until no ReSpecT
specification is found to match the given template, no success completion
answer is forwarded to the TuCSoN Agent exploiting this ACC, which then
is blocked waiting.inS
in interface SpecificationSynchACC
tid
- the target TuCSoN tuplecentre id
tid
event
- the template for the TuCSoN primitive to react toguards
- the template for the guard predicates to be checked for
satisfaction so to actually trigger the body of the ReSpecT
reactionreactionBody
- the template for the computation to be done in response to the
event
timeout
- the maximum waiting time for completion tolerated by the
TuCSoN agent behind this ACC. Notice that reaching the timeout
just unblocks the agent, but the request IS NOT REMOVED from
TuCSoN node pending requests (will still be served at sometime
in the future).TucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkOperationTimeOutException
- if the operation timeout expired prior to operation
completionTupleCentreId
,
ITucsonOperation
public ITucsonOperation inS(TupleCentreId tid, LogicTuple event, LogicTuple guards, LogicTuple reactionBody, TucsonOperationCompletionListener l) throws TucsonOperationNotPossibleException, UnreachableNodeException
SpecificationAsynchACC
in_s
specification primitive, retrieves a ReSpecT Reaction
Specification from the given target tuplecentre specification space.
Notice that the primitive semantics is still SUSPENSIVE: until no ReSpecT
specification is found to match the given template, no success completion
answer is forwarded to the TuCSoN Agent exploiting this ACC, but thanks
to asynchronous behaviour the TuCSoN Agent could do something else
instead of getting stuck.inS
in interface SpecificationAsynchACC
tid
- the target TuCSoN tuplecentre id
tid
event
- the template for the TuCSoN primitive to react toguards
- the template for the guard predicates to be checked for
satisfaction so to actually trigger the body of the ReSpecT
reactionreactionBody
- the template for the computation to be done in response to the
event
l
- the listener who should be notified upon operation completionTucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkTupleCentreId
,
TucsonOperationCompletionListener
,
ITucsonOperation
public ITucsonOperation no(TupleCentreId tid, Tuple tuple, java.lang.Long timeout) throws TucsonOperationNotPossibleException, UnreachableNodeException, OperationTimeOutException
OrdinarySynchACC
no
TuCSoN primitive, checks absence of the specified tuple
in the given target tuplecentre.
Notice that the primitive semantics is SUSPENSIVE: until any tuple is
found to match the given template, no success completion answer is
forwarded to the TuCSoN Agent exploiting this ACC, which then is blocked
waiting.no
in interface OrdinarySynchACC
tid
- the target TuCSoN tuplecentre id
tid
tuple
- the tuple to be checked for absence from the target
tuplecentretimeout
- the maximum waiting time for completion tolerated by the
TuCSoN agent behind this ACC. Notice that reaching the timeout
just unblocks the agent, but the request IS NOT REMOVED from
TuCSoN node pending requests (will still be served at sometime
in the future).TucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkOperationTimeOutException
- if the operation timeout expired prior to operation
completionTupleCentreId
,
ITucsonOperation
public ITucsonOperation no(TupleCentreId tid, Tuple tuple, TucsonOperationCompletionListener l) throws TucsonOperationNotPossibleException, UnreachableNodeException
OrdinaryAsynchACC
no
TuCSoN primitive, checks absence of the specified tuple
in the given target tuplecentre.
Notice that the primitive semantics is still SUSPENSIVE: until any tuple
is found to match the given template, no success completion answer is
forwarded to the TuCSoN Agent exploiting this ACC, but thanks to
asynchronous behaviour TuCSoN Agent could do something else instead of
getting stuck.no
in interface OrdinaryAsynchACC
tid
- the target TuCSoN tuplecentre id
tid
tuple
- the tuple to be checked for absence from the target
tuplecentrel
- the listener who should be notified upon operation completionTucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkTupleCentreId
,
TucsonOperationCompletionListener
,
ITucsonOperation
public ITucsonOperation noAll(TupleCentreId tid, Tuple tuple, java.lang.Long timeout) throws TucsonOperationNotPossibleException, UnreachableNodeException, OperationTimeOutException
BulkSynchACC
no
primitive. In case of failure,
all the tuples matching the template are returned (with no
only one non-deterministically selected is returned).noAll
in interface BulkSynchACC
tid
- the TupleCentreId of the target tuple centretuple
- the tuple template to be used to check absencetimeout
- the maximum waiting time for completion tolerated by the
TuCSoN agent behind this ACC. Notice that reaching the timeout
just unblocks the agent, but the request IS NOT REMOVED from
TuCSoN node pending requests (will still be served at sometime
in the future).TucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkOperationTimeOutException
- if the operation timeout expired prior to operation
completionTupleCentreId
,
TucsonOperationCompletionListener
,
ITucsonOperation
,
Struct
public ITucsonOperation noAll(TupleCentreId tid, Tuple tuple, TucsonOperationCompletionListener l) throws TucsonOperationNotPossibleException, UnreachableNodeException
BulkAsynchACC
no
primitive. In case of failure,
all the tuples matching the template are returned (with no
only one non-deterministically selected is returned).noAll
in interface BulkAsynchACC
tid
- the TupleCentreId of the target tuple centretuple
- the tuple template to be used to check absencel
- who to notify upon operation completionTucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkTupleCentreId
,
TucsonOperationCompletionListener
,
ITucsonOperation
,
Struct
public ITucsonOperation nop(TupleCentreId tid, Tuple tuple, java.lang.Long timeout) throws TucsonOperationNotPossibleException, UnreachableNodeException, OperationTimeOutException
OrdinarySynchACC
nop
TuCSoN primitive, checks absence of the specified tuple
in the given target tuplecentre.
This time the primitive semantics is NOT SUSPENSIVE: if any tuple is
found to match the given template, a failure completion answer is
forwarded to the TuCSoN Agent exploiting this ACC.nop
in interface OrdinarySynchACC
tid
- the target TuCSoN tuplecentre id
tid
tuple
- the tuple to be checked for absence from the target
tuplecentretimeout
- the maximum waiting time for completion tolerated by the
TuCSoN agent behind this ACC. Notice that reaching the timeout
just unblocks the agent, but the request IS NOT REMOVED from
TuCSoN node pending requests (will still be served at sometime
in the future).TucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkOperationTimeOutException
- if the operation timeout expired prior to operation
completionTupleCentreId
,
ITucsonOperation
public ITucsonOperation nop(TupleCentreId tid, Tuple tuple, TucsonOperationCompletionListener l) throws TucsonOperationNotPossibleException, UnreachableNodeException
OrdinaryAsynchACC
nop
TuCSoN primitive, checks absence of the specified tuple
in the given target tuplecentre.
This time the primitive semantics is NOT SUSPENSIVE: if a tuple is found
to match the given template, a failure completion answer is forwarded to
the TuCSoN Agent exploiting this ACC.nop
in interface OrdinaryAsynchACC
tid
- the target TuCSoN tuplecentre id
tid
tuple
- the tuple to be checked for absence from the target
tuplecentrel
- the listener who should be notified upon operation completionTucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkTupleCentreId
,
TucsonOperationCompletionListener
,
ITucsonOperation
public ITucsonOperation nopS(TupleCentreId tid, LogicTuple event, LogicTuple guards, LogicTuple reactionBody, java.lang.Long timeout) throws TucsonOperationNotPossibleException, UnreachableNodeException, OperationTimeOutException
SpecificationSynchACC
nop_s
specification primitive, checks absence of the a
ReSpecT Reaction in the given target tuplecentre specification space.
This time the primitive semantics is NOT SUSPENSIVE: if any ReSpecT
specification is found to match the given template, a failure completion
answer is forwarded to the TuCSoN Agent exploiting this ACC.nopS
in interface SpecificationSynchACC
tid
- the target TuCSoN tuplecentre id
tid
event
- the template for the TuCSoN primitive to react toguards
- the template for the guard predicates to be checked for
satisfaction so to actually trigger the body of the ReSpecT
reactionreactionBody
- the template for the computation to be done in response to the
event
timeout
- the maximum waiting time for completion tolerated by the
TuCSoN agent behind this ACC. Notice that reaching the timeout
just unblocks the agent, but the request IS NOT REMOVED from
TuCSoN node pending requests (will still be served at sometime
in the future).TucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkOperationTimeOutException
- if the operation timeout expired prior to operation
completionTupleCentreId
,
ITucsonOperation
public ITucsonOperation nopS(TupleCentreId tid, LogicTuple event, LogicTuple guards, LogicTuple reactionBody, TucsonOperationCompletionListener l) throws TucsonOperationNotPossibleException, UnreachableNodeException
SpecificationAsynchACC
nop_s
specification primitive, checks absence of the a
ReSpecT Reaction in the given target tuplecentre specification space.
This time the primitive semantics is NOT SUSPENSIVE: if any ReSpecT
specification is found to match the given template, a failure completion
answer is forwarded to the TuCSoN Agent exploiting this ACC.nopS
in interface SpecificationAsynchACC
tid
- the target TuCSoN tuplecentre id
tid
event
- the template for the TuCSoN primitive to react toguards
- the template for the guard predicates to be checked for
satisfaction so to actually trigger the body of the ReSpecT
reactionreactionBody
- the template for the computation to be done in response to the
event
l
- the listener who should be notified upon operation completionTucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkTupleCentreId
,
TucsonOperationCompletionListener
,
ITucsonOperation
public ITucsonOperation noS(TupleCentreId tid, LogicTuple event, LogicTuple guards, LogicTuple reactionBody, java.lang.Long timeout) throws TucsonOperationNotPossibleException, UnreachableNodeException, OperationTimeOutException
SpecificationSynchACC
no_s
specification primitive, checks absence of the a
ReSpecT Reaction in the given target tuplecentre specification space.
Notice that the primitive semantics is SUSPENSIVE: until any ReSpecT
specification is found to match the given template, no success completion
answer is forwarded to the TuCSoN Agent exploiting this ACC, which then
is blocked waiting.noS
in interface SpecificationSynchACC
tid
- the target TuCSoN tuplecentre id
tid
event
- the template for the TuCSoN primitive to react toguards
- the template for the guard predicates to be checked for
satisfaction so to actually trigger the body of the ReSpecT
reactionreactionBody
- the template for the computation to be done in response to the
event
timeout
- the maximum waiting time for completion tolerated by the
TuCSoN agent behind this ACC. Notice that reaching the timeout
just unblocks the agent, but the request IS NOT REMOVED from
TuCSoN node pending requests (will still be served at sometime
in the future).TucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkOperationTimeOutException
- if the operation timeout expired prior to operation
completionTupleCentreId
,
ITucsonOperation
public ITucsonOperation noS(TupleCentreId tid, LogicTuple event, LogicTuple guards, LogicTuple reactionBody, TucsonOperationCompletionListener l) throws TucsonOperationNotPossibleException, UnreachableNodeException
SpecificationAsynchACC
no_s
specification primitive, checks absence of the a
ReSpecT Reaction in the given target tuplecentre specification space.
Notice that the primitive semantics is still SUSPENSIVE: until any
ReSpecT specification is found to match the given template, no success
completion answer is forwarded to the TuCSoN Agent exploiting this ACC,
but thanks to asynchronous behaviour TuCSoN Agent could do something else
instead of getting stuck.noS
in interface SpecificationAsynchACC
tid
- the target TuCSoN tuplecentre id
tid
event
- the template for the TuCSoN primitive to react toguards
- the template for the guard predicates to be checked for
satisfaction so to actually trigger the body of the ReSpecT
reactionreactionBody
- the template for the computation to be done in response to the
event
l
- the listener who should be notified upon operation completionTucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkTupleCentreId
,
TucsonOperationCompletionListener
,
ITucsonOperation
public ITucsonOperation out(TupleCentreId tid, Tuple tuple, java.lang.Long timeout) throws TucsonOperationNotPossibleException, UnreachableNodeException, OperationTimeOutException
OrdinarySynchACC
out
Linda primitive, inserts the specified tuple in the
given target tuplecentre.
Notice that TuCSoN out primitive assumes the ORDERED version of this
primitive, hence the tuple is SUDDENLY injected in the target space (if
the primitive successfully completes)out
in interface OrdinarySynchACC
tid
- the target TuCSoN tuplecentre id
tid
tuple
- the tuple to be emitted in the target tuplecentretimeout
- the maximum waiting time for completion tolerated by the
TuCSoN agent behind this ACC. Notice that reaching the timeout
just unblocks the agent, but the request IS NOT REMOVED from
TuCSoN node pending requests (will still be served at sometime
in the future).TucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkOperationTimeOutException
- if the operation timeout expired prior to operation
completionTupleCentreId
,
ITucsonOperation
public ITucsonOperation out(TupleCentreId tid, Tuple tuple, TucsonOperationCompletionListener l) throws TucsonOperationNotPossibleException, UnreachableNodeException
OrdinaryAsynchACC
out
Linda primitive, inserts the specified tuple in the
given target tuplecentre.
Notice that TuCSoN out primitive assumes the ORDERED version of this
primitive, hence the tuple is SUDDENLY injected in the target space (if
the primitive successfully completes)out
in interface OrdinaryAsynchACC
tid
- the target TuCSoN tuplecentre id
tid
tuple
- the tuple to be emitted in the target tuplecentrel
- the listener who should be notified upon operation completionTucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkTupleCentreId
,
TucsonOperationCompletionListener
,
ITucsonOperation
public ITucsonOperation outAll(TupleCentreId tid, Tuple tuple, java.lang.Long timeout) throws TucsonOperationNotPossibleException, UnreachableNodeException, OperationTimeOutException
BulkSynchACC
outAll
in interface BulkSynchACC
tid
- the TupleCentreId of the target tuple centretuple
- the list of tuples to inject (must be a Prolog list)timeout
- the maximum waiting time for completion tolerated by the
TuCSoN agent behind this ACC. Notice that reaching the timeout
just unblocks the agent, but the request IS NOT REMOVED from
TuCSoN node pending requests (will still be served at sometime
in the future).TucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkOperationTimeOutException
- if the operation timeout expired prior to operation
completionTupleCentreId
,
TucsonOperationCompletionListener
,
ITucsonOperation
,
Struct
public ITucsonOperation outAll(TupleCentreId tid, Tuple tuple, TucsonOperationCompletionListener l) throws TucsonOperationNotPossibleException, UnreachableNodeException
BulkAsynchACC
outAll
in interface BulkAsynchACC
tid
- the TupleCentreId of the target tuple centretuple
- the list of tuples to inject (must be a Prolog list)l
- who to notify upon operation completionTucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkTupleCentreId
,
TucsonOperationCompletionListener
,
ITucsonOperation
,
Struct
public ITucsonOperation outS(TupleCentreId tid, LogicTuple event, LogicTuple guards, LogicTuple reactionBody, java.lang.Long timeout) throws TucsonOperationNotPossibleException, UnreachableNodeException, OperationTimeOutException
SpecificationSynchACC
out_s
specification primitive, adds the ReSpecT Reaction
Specification in the given target tuplecentre specification space.
This TuCSoN out_s
primitive assumes the ORDERED semantics,
hence the reaction specification is SUDDENLY injected in the target space
(if the primitive successfully completes).outS
in interface SpecificationSynchACC
tid
- the target TuCSoN tuplecentre id
tid
event
- the TuCSoN primitive to react toguards
- the guard predicates to be checked for satisfaction so to
actually trigger the body of the ReSpecT reactionreactionBody
- the computation to be done in response to the
event
timeout
- the maximum waiting time for completion tolerated by the
TuCSoN agent behind this ACC. Notice that reaching the timeout
just unblocks the agent, but the request IS NOT REMOVED from
TuCSoN node pending requests (will still be served at sometime
in the future).TucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkOperationTimeOutException
- if the operation timeout expired prior to operation
completionTupleCentreId
,
ITucsonOperation
public ITucsonOperation outS(TupleCentreId tid, LogicTuple event, LogicTuple guards, LogicTuple reactionBody, TucsonOperationCompletionListener l) throws TucsonOperationNotPossibleException, UnreachableNodeException
SpecificationAsynchACC
out_s
specification primitive, adds the ReSpecT Reaction
Specification in the given target tuplecentre specification space.
This TuCSoN out_s
primitive assumes the ORDERED semantics,
hence the reaction specification is SUDDENLY injected in the target space
(if the primitive successfully completes).outS
in interface SpecificationAsynchACC
tid
- the target TuCSoN tuplecentre id
tid
event
- the TuCSoN primitive to react toguards
- the guard predicates to be checked for satisfaction so to
actually trigger the body of the ReSpecT reactionreactionBody
- the computation to be done in response to the
event
l
- the listener who should be notified upon operation completionTucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkTupleCentreId
,
TucsonOperationCompletionListener
,
ITucsonOperation
public ITucsonOperation rd(TupleCentreId tid, Tuple tuple, java.lang.Long timeout) throws TucsonOperationNotPossibleException, UnreachableNodeException, OperationTimeOutException
OrdinarySynchACC
rd
Linda primitive, reads (w/o removing) the specified tuple
from the given target tuplecentre.
Notice that the primitive semantics is SUSPENSIVE: until no tuple is
found to match the given template, no success completion answer is
forwarded to the TuCSoN Agent exploiting this ACC, which then is blocked
waiting.rd
in interface OrdinarySynchACC
tid
- the target TuCSoN tuplecentre id
tid
tuple
- the tuple to be read from the target tuplecentretimeout
- the maximum waiting time for completion tolerated by the
TuCSoN agent behind this ACC. Notice that reaching the timeout
just unblocks the agent, but the request IS NOT REMOVED from
TuCSoN node pending requests (will still be served at sometime
in the future).TucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkOperationTimeOutException
- if the operation timeout expired prior to operation
completionTupleCentreId
,
ITucsonOperation
public ITucsonOperation rd(TupleCentreId tid, Tuple tuple, TucsonOperationCompletionListener l) throws TucsonOperationNotPossibleException, UnreachableNodeException
OrdinaryAsynchACC
rd
Linda primitive, reads (w/o removing) the specified tuple
from the given target tuplecentre.
Notice that the primitive semantics is still SUSPENSIVE: until no tuple
is found to match the given template, no success completion answer is
forwarded to the TuCSoN Agent exploiting this ACC, but thanks to
asynchronous behaviour the TuCSoN Agent could do something else instead
of getting stuck.rd
in interface OrdinaryAsynchACC
tid
- the target TuCSoN tuplecentre id
tid
tuple
- the tuple to be read from the target tuplecentrel
- the listener who should be notified upon operation completionTucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkTupleCentreId
,
TucsonOperationCompletionListener
,
ITucsonOperation
public ITucsonOperation rdAll(TupleCentreId tid, Tuple tuple, java.lang.Long timeout) throws TucsonOperationNotPossibleException, UnreachableNodeException, OperationTimeOutException
BulkSynchACC
rdAll
in interface BulkSynchACC
tid
- the TupleCentreId of the target tuple centretuple
- the tuple template to be used to observe tuplestimeout
- the maximum waiting time for completion tolerated by the
TuCSoN agent behind this ACC. Notice that reaching the timeout
just unblocks the agent, but the request IS NOT REMOVED from
TuCSoN node pending requests (will still be served at sometime
in the future).TucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkOperationTimeOutException
- if the operation timeout expired prior to operation
completionTupleCentreId
,
TucsonOperationCompletionListener
,
ITucsonOperation
,
Struct
public ITucsonOperation rdAll(TupleCentreId tid, Tuple tuple, TucsonOperationCompletionListener l) throws TucsonOperationNotPossibleException, UnreachableNodeException
BulkAsynchACC
rdAll
in interface BulkAsynchACC
tid
- the TupleCentreId of the target tuple centretuple
- the tuple template to be used to observe tuplesl
- who to notify upon operation completionTucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkTupleCentreId
,
TucsonOperationCompletionListener
,
ITucsonOperation
,
Struct
public ITucsonOperation rdp(TupleCentreId tid, Tuple tuple, java.lang.Long timeout) throws TucsonOperationNotPossibleException, UnreachableNodeException, OperationTimeOutException
OrdinarySynchACC
rdp
Linda primitive, reads (w/o removing) the specified
tuple from the given target tuplecentre.
This time the primitive semantics is NOT SUSPENSIVE: if no tuple is found
to match the given template, a failure completion answer is forwarded to
the TuCSoN Agent exploiting this ACC.rdp
in interface OrdinarySynchACC
tid
- the target TuCSoN tuplecentre id
tid
tuple
- the tuple to be read from the target tuplecentretimeout
- the maximum waiting time for completion tolerated by the
TuCSoN agent behind this ACC. Notice that reaching the timeout
just unblocks the agent, but the request IS NOT REMOVED from
TuCSoN node pending requests (will still be served at sometime
in the future).TucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkOperationTimeOutException
- if the operation timeout expired prior to operation
completionTupleCentreId
,
ITucsonOperation
public ITucsonOperation rdp(TupleCentreId tid, Tuple tuple, TucsonOperationCompletionListener l) throws TucsonOperationNotPossibleException, UnreachableNodeException
OrdinaryAsynchACC
rdp
Linda primitive, reads (w/o removing) the specified
tuple in the given target tuplecentre.
This time the primitive semantics is NOT SUSPENSIVE: if no tuple is found
to match the given template, a failure completion answer is forwarded to
the TuCSoN Agent exploiting this ACC.rdp
in interface OrdinaryAsynchACC
tid
- the target TuCSoN tuplecentre id
tid
tuple
- the tuple to be read from the target tuplecentrel
- the listener who should be notified upon operation completionTucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkTupleCentreId
,
TucsonOperationCompletionListener
,
ITucsonOperation
public ITucsonOperation rdpS(TupleCentreId tid, LogicTuple event, LogicTuple guards, LogicTuple reactionBody, java.lang.Long timeout) throws TucsonOperationNotPossibleException, UnreachableNodeException, OperationTimeOutException
SpecificationSynchACC
rdp_s
specification primitive, reads (w/o removing) a
ReSpecT Reaction Specification from the given target tuplecentre
specification space.
This time the primitive semantics is NOT SUSPENSIVE: if no ReSpecT
specification is found to match the given template, a failure completion
answer is forwarded to the TuCSoN Agent exploiting this ACC.rdpS
in interface SpecificationSynchACC
tid
- the target TuCSoN tuplecentre id
tid
event
- the template for the TuCSoN primitive to react toguards
- the template for the guard predicates to be checked for
satisfaction so to actually trigger the body of the ReSpecT
reactionreactionBody
- the template for the computation to be done in response to the
event
timeout
- the maximum waiting time for completion tolerated by the
TuCSoN agent behind this ACC. Notice that reaching the timeout
just unblocks the agent, but the request IS NOT REMOVED from
TuCSoN node pending requests (will still be served at sometime
in the future).TucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkOperationTimeOutException
- if the operation timeout expired prior to operation
completionTupleCentreId
,
ITucsonOperation
public ITucsonOperation rdpS(TupleCentreId tid, LogicTuple event, LogicTuple guards, LogicTuple reactionBody, TucsonOperationCompletionListener l) throws TucsonOperationNotPossibleException, UnreachableNodeException
SpecificationAsynchACC
rdp_s
specification primitive, reads (w/o removing) a
ReSpecT Reaction Specification from the given target tuplecentre
specification space.
This time the primitive semantics is NOT SUSPENSIVE: if no ReSpecT
specification is found to match the given template, a failure completion
answer is forwarded to the TuCSoN Agent exploiting this ACC.rdpS
in interface SpecificationAsynchACC
tid
- the target TuCSoN tuplecentre id
tid
event
- the template for the TuCSoN primitive to react toguards
- the template for the guard predicates to be checked for
satisfaction so to actually trigger the body of the ReSpecT
reactionreactionBody
- the template for the computation to be done in response to the
event
l
- the listener who should be notified upon operation completionTucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkTupleCentreId
,
TucsonOperationCompletionListener
,
ITucsonOperation
public ITucsonOperation rdS(TupleCentreId tid, LogicTuple event, LogicTuple guards, LogicTuple reactionBody, java.lang.Long timeout) throws TucsonOperationNotPossibleException, UnreachableNodeException, OperationTimeOutException
SpecificationSynchACC
in_s
specification primitive, reads (w/o removing) a ReSpecT
Reaction Specification from the given target tuplecentre specification
space.
Notice that the primitive semantics is SUSPENSIVE: until no ReSpecT
specification is found to match the given template, no success completion
answer is forwarded to the TuCSoN Agent exploiting this ACC, which then
is blocked waiting.rdS
in interface SpecificationSynchACC
tid
- the target TuCSoN tuplecentre id
tid
event
- the template for the TuCSoN primitive to react toguards
- the template for the guard predicates to be checked for
satisfaction so to actually trigger the body of the ReSpecT
reactionreactionBody
- the template for the computation to be done in response to the
event
timeout
- the maximum waiting time for completion tolerated by the
TuCSoN agent behind this ACC. Notice that reaching the timeout
just unblocks the agent, but the request IS NOT REMOVED from
TuCSoN node pending requests (will still be served at sometime
in the future).TucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkOperationTimeOutException
- if the operation timeout expired prior to operation
completionTupleCentreId
,
ITucsonOperation
public ITucsonOperation rdS(TupleCentreId tid, LogicTuple event, LogicTuple guards, LogicTuple reactionBody, TucsonOperationCompletionListener l) throws TucsonOperationNotPossibleException, UnreachableNodeException
SpecificationAsynchACC
rd_s
specification primitive, reads (w/o removing) a ReSpecT
Reaction Specification from the given target tuplecentre specification
space.
Notice that the primitive semantics is still SUSPENSIVE: until no ReSpecT
specification is found to match the given template, no success completion
answer is forwarded to the TuCSoN Agent exploiting this ACC, but thanks
to asynchronous behaviour the TuCSoN Agent could do something else
instead of getting stuck.rdS
in interface SpecificationAsynchACC
tid
- the target TuCSoN tuplecentre id
tid
event
- the template for the TuCSoN primitive to react toguards
- the template for the guard predicates to be checked for
satisfaction so to actually trigger the body of the ReSpecT
reactionreactionBody
- the template for the computation to be done in response to the
event
l
- the listener who should be notified upon operation completionTucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkTupleCentreId
,
TucsonOperationCompletionListener
,
ITucsonOperation
public ITucsonOperation set(TupleCentreId tid, Tuple tuple, java.lang.Long timeout) throws TucsonOperationNotPossibleException, UnreachableNodeException, OperationTimeOutException
OrdinarySynchACC
set
TuCSoN primitive, to replace all the tuples in the given
target tuplecentre with that specified in the given list.set
in interface OrdinarySynchACC
tid
- the target TuCSoN tuplecentre id
tid
tuple
- the Prolog list of all the tuples to be injected (overwriting
space)timeout
- the maximum waiting time for completion tolerated by the
TuCSoN agent behind this ACC. Notice that reaching the timeout
just unblocks the agent, but the request IS NOT REMOVED from
TuCSoN node pending requests (will still be served at sometime
in the future).TucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkOperationTimeOutException
- if the operation timeout expired prior to operation
completionTupleCentreId
,
ITucsonOperation
public ITucsonOperation set(TupleCentreId tid, Tuple tuple, TucsonOperationCompletionListener l) throws TucsonOperationNotPossibleException, UnreachableNodeException
OrdinaryAsynchACC
set
TuCSoN primitive, to replace all the tuples in the given
target tuplecentre with that specified in the given list.set
in interface OrdinaryAsynchACC
tid
- the target TuCSoN tuplecentre id
tid
tuple
- the Prolog list of all the tuples to be injected (overwriting
space)l
- the listener who should be notified upon operation completionTucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkTupleCentreId
,
TucsonOperationCompletionListener
,
ITucsonOperation
public ITucsonOperation setS(TupleCentreId tid, LogicTuple spec, java.lang.Long timeout) throws TucsonOperationNotPossibleException, UnreachableNodeException, OperationTimeOutException
SpecificationSynchACC
set_s
specification primitive, to replace all the ReSpecT
specification tuples in the given target tuplecentre specification space
with that specified in the given tuple. The ReSpecT specification tuple
should be formatted as a Prolog list of the kind [(E1,G1,R1), ...,
(En,Gn,Rn)] where E = events
, G = guards
,
R = reactionBody
.setS
in interface SpecificationSynchACC
tid
- the target TuCSoN tuplecentre id
tid
spec
- the new ReSpecT specification to replace the current
specification spacetimeout
- the maximum waiting time for completion tolerated by the
TuCSoN agent behind this ACC. Notice that reaching the timeout
just unblocks the agent, but the request IS NOT REMOVED from
TuCSoN node pending requests (will still be served at sometime
in the future).TucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkOperationTimeOutException
- if the operation timeout expired prior to operation
completionTupleCentreId
,
ITucsonOperation
public ITucsonOperation setS(TupleCentreId tid, LogicTuple spec, TucsonOperationCompletionListener l) throws TucsonOperationNotPossibleException, UnreachableNodeException
SpecificationAsynchACC
set_s
specification primitive, to replace all the ReSpecT
specification tuples in the given target tuplecentre specification space
with that specified in the given tuple. The ReSpecT specification tuple
should be formatted as a Prolog list of the kind [(E1,G1,R1), ...,
(En,Gn,Rn)] where E = events
, G = guards
,
R = reactionBody
.setS
in interface SpecificationAsynchACC
tid
- the target TuCSoN tuplecentre id
tid
spec
- the new ReSpecT specification to replace the current
specification spacel
- the listener who should be notified upon operation completionTucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkTupleCentreId
,
ITucsonOperation
public ITucsonOperation setS(TupleCentreId tid, java.lang.String spec, java.lang.Long timeout) throws TucsonOperationNotPossibleException, UnreachableNodeException, OperationTimeOutException
SpecificationSynchACC
set_s
specification primitive, to replace all the ReSpecT
specification tuples in the given target tuplecentre specification space
with that specified in the given String. The ReSpecT specification string
should be formatted according to Prolog theory syntax.setS
in interface SpecificationSynchACC
tid
- the target TuCSoN tuplecentre id
tid
spec
- the new ReSpecT specification to replace the current
specification spacetimeout
- the maximum waiting time for completion tolerated by the
TuCSoN agent behind this ACC. Notice that reaching the timeout
just unblocks the agent, but the request IS NOT REMOVED from
TuCSoN node pending requests (will still be served at sometime
in the future).TucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkOperationTimeOutException
- if the operation timeout expired prior to operation
completionTupleCentreId
,
ITucsonOperation
,
Theory
public ITucsonOperation setS(TupleCentreId tid, java.lang.String spec, TucsonOperationCompletionListener l) throws TucsonOperationNotPossibleException, UnreachableNodeException
SpecificationAsynchACC
set_s
specification primitive, to replace all the ReSpecT
specification tuples in the given target tuplecentre specification space
with that specified in the given String. The ReSpecT specification string
should be formatted according to Prolog theory syntax.setS
in interface SpecificationAsynchACC
tid
- the target TuCSoN tuplecentre id
tid
spec
- the new ReSpecT specification to replace the current
specification spacel
- the listener who should be notified upon operation completionTucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkTupleCentreId
,
TucsonOperationCompletionListener
,
ITucsonOperation
,
Theory
public ITucsonOperation spawn(TupleCentreId tid, Tuple toSpawn, java.lang.Long timeout) throws TucsonOperationNotPossibleException, UnreachableNodeException, OperationTimeOutException
OrdinarySynchACC
spawn
TuCSoN primitive, starts a parallel computational
activity within the target node.
Notice that semantics is still NOT SUSPENSIVE: as soon as the parallel
activity has been started by the node, the completion is returned to the
TuCSoN Agent exploiting this ACC. This is due to very nature of the spawn
primitive, which is exactly meant to ASYNCHRONOUSLY start a PARALLEL
computational activity (despite this ACC being synchronous).spawn
in interface OrdinarySynchACC
tid
- the target TuCSoN tuplecentre id
tid
toSpawn
- the tuple storing the activity to spawn as a parallel
computation. Must be a Prolog term with functor name
exec/solve
, storing either a Java qualified class
name (dotted-list of packages and .class
extension too) or the filepath to a valid Prolog theory and a
valid Prolog goal to be checked. E.g.:
exec('list.of.packages.YourClass.class')
OR
solve('path/to/Prolog/Theory.pl', yourGoal)
timeout
- the maximum waiting time for completion tolerated by the
TuCSoN agent behind this ACC. Notice that reaching the timeout
just unblocks the agent, but the request IS NOT REMOVED from
TuCSoN node pending requests (will still be served at sometime
in the future).TucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkOperationTimeOutException
- if the operation timeout expired prior to operation
completionTupleCentreId
,
ITucsonOperation
public ITucsonOperation spawn(TupleCentreId tid, Tuple toSpawn, TucsonOperationCompletionListener l) throws TucsonOperationNotPossibleException, UnreachableNodeException
OrdinaryAsynchACC
spawn
TuCSoN primitive, starts a parallel computational
activity within the target node.
Semantics is NOT SUSPENSIVE: as soon as the parallel activity has been
started by the node, the completion is returned to the TuCSoN Agent
exploiting this ACC.spawn
in interface OrdinaryAsynchACC
tid
- the target TuCSoN tuplecentre id
tid
toSpawn
- the tuple storing the activity to spawn as a parallel
computation. Must be a Prolog term with functor name
exec/solve
, storing either a Java qualified class
name (dotted-list of packages and .class
extension too) or the filepath to a valid Prolog theory and a
valid Prolog goal to be checked. E.g.:
exec('list.of.packages.YourClass.class')
OR
solve('path/to/Prolog/Theory.pl', yourGoal)
l
- the listener who should be notified upon operation completionTucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkTupleCentreId
,
TucsonOperationCompletionListener
,
ITucsonOperation
,
Theory
,
Term
public ITucsonOperation uin(TupleCentreId tid, Tuple tuple, java.lang.Long timeout) throws TucsonOperationNotPossibleException, UnreachableNodeException, OperationTimeOutException
UniformSynchACC
uin
TuCSoN primitive, retrieves the specified tuple from the
given target tuplecentre. If more than one tuple matches the template,
Linda's non-deterministic selection is replaced by PROBABILISTIC,
UNIFORMLY DISTRIBUTED selection: the more a tuple is present, the more
likely it will be returned.
Notice that the primitive semantics is SUSPENSIVE: until no tuple is
found to match the given template, no success completion answer is
forwarded to the TuCSoN Agent exploiting this ACC, which then is blocked
waiting.uin
in interface UniformSynchACC
tid
- the target TuCSoN tuplecentre id
tid
tuple
- the tuple to be retrieved from the target tuplecentretimeout
- the maximum waiting time for completion tolerated by the
TuCSoN agent behind this ACC. Notice that reaching the timeout
just unblocks the agent, but the request IS NOT REMOVED from
TuCSoN node pending requests (will still be served at sometime
in the future).TucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkOperationTimeOutException
- if the operation timeout expired prior to operation
completionTupleCentreId
,
ITucsonOperation
public ITucsonOperation uin(TupleCentreId tid, Tuple tuple, TucsonOperationCompletionListener l) throws TucsonOperationNotPossibleException, UnreachableNodeException
UniformAsynchACC
uin
TuCSoN primitive, retrieves the specified tuple from the
given target tuplecentre. If more than one tuple matches the template,
Linda's non-deterministic selection is replaced by PROBABILISTIC,
UNIFORMLY DISTRIBUTED selection: the more a tuple is present, the more
likely it will be returned.
Notice that the primitive semantics is still SUSPENSIVE: until no tuple
is found to match the given template, no success completion answer is
forwarded to the TuCSoN Agent exploiting this ACC, but thanks to
asynchronous behaviour the TuCSoN Agent could do something else instead
of getting stuck.uin
in interface UniformAsynchACC
tid
- the target TuCSoN tuplecentre id
tid
tuple
- the tuple to be retrieved from the target tuplecentrel
- the listener who should be notified upon operation completionTucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkTupleCentreId
,
TucsonOperationCompletionListener
,
ITucsonOperation
public ITucsonOperation uinp(TupleCentreId tid, Tuple tuple, java.lang.Long timeout) throws TucsonOperationNotPossibleException, UnreachableNodeException, OperationTimeOutException
UniformSynchACC
uinp
TuCSoN primitive, retrieves the specified tuple from
the given target tuplecentre. If more than one tuple matches the
template, Linda's non-deterministic selection is replaced by
PROBABILISTIC, UNIFORMLY DISTRIBUTED selection: the more a tuple is
present, the more likely it will be returned.
This time the primitive semantics is NOT SUSPENSIVE: if no tuple is found
to match the given template, a failure completion answer is forwarded to
the TuCSoN Agent exploiting this ACC.uinp
in interface UniformSynchACC
tid
- the target TuCSoN tuplecentre id
tid
tuple
- the tuple to be retrieved from the target tuplecentretimeout
- the maximum waiting time for completion tolerated by the
TuCSoN agent behind this ACC. Notice that reaching the timeout
just unblocks the agent, but the request IS NOT REMOVED from
TuCSoN node pending requests (will still be served at sometime
in the future).TucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkOperationTimeOutException
- if the operation timeout expired prior to operation
completionTupleCentreId
,
ITucsonOperation
public ITucsonOperation uinp(TupleCentreId tid, Tuple tuple, TucsonOperationCompletionListener l) throws TucsonOperationNotPossibleException, UnreachableNodeException
UniformAsynchACC
uinp
TuCSoN primitive, retrieves the specified tuple in the
given target tuplecentre. If more than one tuple matches the template,
Linda's non-deterministic selection is replaced by PROBABILISTIC,
UNIFORMLY DISTRIBUTED selection: the more a tuple is present, the more
likely it will be returned.
This time the primitive semantics is NOT SUSPENSIVE: if no tuple is found
to match the given template, a failure completion answer is forwarded to
the TuCSoN Agent exploiting this ACC.uinp
in interface UniformAsynchACC
tid
- the target TuCSoN tuplecentre id
tid
tuple
- the tuple to be retrieved from the target tuplecentrel
- the listener who should be notified upon operation completionTucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkTupleCentreId
,
TucsonOperationCompletionListener
,
ITucsonOperation
public ITucsonOperation uno(TupleCentreId tid, Tuple tuple, java.lang.Long timeout) throws TucsonOperationNotPossibleException, UnreachableNodeException, OperationTimeOutException
UniformSynchACC
uno
TuCSoN primitive, checks absence of the specified tuple
in the given target tuplecentre. If more than one tuple matches the
template, Linda's non-deterministic selection is replaced by
PROBABILISTIC, UNIFORMLY DISTRIBUTED selection: the more a tuple is
present, the more likely it will be returned.
Notice that the primitive semantics is SUSPENSIVE: until any tuple is
found to match the given template, no success completion answer is
forwarded to the TuCSoN Agent exploiting this ACC, which then is blocked
waiting.uno
in interface UniformSynchACC
tid
- the target TuCSoN tuplecentre id
tid
tuple
- the tuple to be checked for absence from the target
tuplecentretimeout
- the maximum waiting time for completion tolerated by the
TuCSoN agent behind this ACC. Notice that reaching the timeout
just unblocks the agent, but the request IS NOT REMOVED from
TuCSoN node pending requests (will still be served at sometime
in the future).TucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkOperationTimeOutException
- if the operation timeout expired prior to operation
completionTupleCentreId
,
ITucsonOperation
public ITucsonOperation uno(TupleCentreId tid, Tuple tuple, TucsonOperationCompletionListener l) throws TucsonOperationNotPossibleException, UnreachableNodeException
UniformAsynchACC
uno
TuCSoN primitive, checks absence of the specified tuple
in the given target tuplecentre. If more than one tuple matches the
template, Linda's non-deterministic selection is replaced by
PROBABILISTIC, UNIFORMLY DISTRIBUTED selection: the more a tuple is
present, the more likely it will be returned.
Notice that the primitive semantics is still SUSPENSIVE: until any tuple
is found to match the given template, no success completion answer is
forwarded to the TuCSoN Agent exploiting this ACC, but thanks to
asynchronous behaviour TuCSoN Agent could do something else instead of
getting stuck.uno
in interface UniformAsynchACC
tid
- the target TuCSoN tuplecentre id
tid
tuple
- the tuple to be checked for absence from the target
tuplecentrel
- the listener who should be notified upon operation completionTucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkTupleCentreId
,
TucsonOperationCompletionListener
,
ITucsonOperation
public ITucsonOperation unop(TupleCentreId tid, Tuple tuple, java.lang.Long timeout) throws TucsonOperationNotPossibleException, UnreachableNodeException, OperationTimeOutException
UniformSynchACC
unop
TuCSoN primitive, checks absence of the specified tuple
in the given target tuplecentre. If more than one tuple matches the
template, Linda's non-deterministic selection is replaced by
PROBABILISTIC, UNIFORMLY DISTRIBUTED selection: the more a tuple is
present, the more likely it will be returned.
This time the primitive semantics is NOT SUSPENSIVE: if any tuple is
found to match the given template, a failure completion answer is
forwarded to the TuCSoN Agent exploiting this ACC.unop
in interface UniformSynchACC
tid
- the target TuCSoN tuplecentre id
tid
tuple
- the tuple to be checked for absence from the target
tuplecentretimeout
- the maximum waiting time for completion tolerated by the
TuCSoN agent behind this ACC. Notice that reaching the timeout
just unblocks the agent, but the request IS NOT REMOVED from
TuCSoN node pending requests (will still be served at sometime
in the future).TucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkOperationTimeOutException
- if the operation timeout expired prior to operation
completionTupleCentreId
,
ITucsonOperation
public ITucsonOperation unop(TupleCentreId tid, Tuple tuple, TucsonOperationCompletionListener l) throws TucsonOperationNotPossibleException, UnreachableNodeException
UniformAsynchACC
unop
TuCSoN primitive, checks absence of the specified tuple
in the given target tuplecentre. If more than one tuple matches the
template, Linda's non-deterministic selection is replaced by
PROBABILISTIC, UNIFORMLY DISTRIBUTED selection: the more a tuple is
present, the more likely it will be returned.
This time the primitive semantics is NOT SUSPENSIVE: if a tuple is found
to match the given template, a failure completion answer is forwarded to
the TuCSoN Agent exploiting this ACC.unop
in interface UniformAsynchACC
tid
- the target TuCSoN tuplecentre id
tid
tuple
- the tuple to be checked for absence from the target
tuplecentrel
- the listener who should be notified upon operation completionTucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkTupleCentreId
,
TucsonOperationCompletionListener
,
ITucsonOperation
public ITucsonOperation urd(TupleCentreId tid, Tuple tuple, java.lang.Long timeout) throws TucsonOperationNotPossibleException, UnreachableNodeException, OperationTimeOutException
UniformSynchACC
urd
TuCSoN primitive, reads (w/o removing) the specified
tuple from the given target tuplecentre. If more than one tuple matches
the template, Linda's non-deterministic selection is replaced by
PROBABILISTIC, UNIFORMLY DISTRIBUTED selection: the more a tuple is
present, the more likely it will be returned.
Notice that the primitive semantics is SUSPENSIVE: until no tuple is
found to match the given template, no success completion answer is
forwarded to the TuCSoN Agent exploiting this ACC, which then is blocked
waiting.urd
in interface UniformSynchACC
tid
- the target TuCSoN tuplecentre id
tid
tuple
- the tuple to be read from the target tuplecentretimeout
- the maximum waiting time for completion tolerated by the
TuCSoN agent behind this ACC. Notice that reaching the timeout
just unblocks the agent, but the request IS NOT REMOVED from
TuCSoN node pending requests (will still be served at sometime
in the future).TucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkOperationTimeOutException
- if the operation timeout expired prior to operation
completionTupleCentreId
,
ITucsonOperation
public ITucsonOperation urd(TupleCentreId tid, Tuple tuple, TucsonOperationCompletionListener l) throws TucsonOperationNotPossibleException, UnreachableNodeException
UniformAsynchACC
urd
TuCSoN primitive, reads (w/o removing) the specified
tuple from the given target tuplecentre. If more than one tuple matches
the template, Linda's non-deterministic selection is replaced by
PROBABILISTIC, UNIFORMLY DISTRIBUTED selection: the more a tuple is
present, the more likely it will be returned.
Notice that the primitive semantics is still SUSPENSIVE: until no tuple
is found to match the given template, no success completion answer is
forwarded to the TuCSoN Agent exploiting this ACC, but thanks to
asynchronous behaviour the TuCSoN Agent could do something else instead
of getting stuck.urd
in interface UniformAsynchACC
tid
- the target TuCSoN tuplecentre id
tid
tuple
- the tuple to be read from the target tuplecentrel
- the listener who should be notified upon operation completionTucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkTupleCentreId
,
TucsonOperationCompletionListener
,
ITucsonOperation
public ITucsonOperation urdp(TupleCentreId tid, Tuple tuple, java.lang.Long timeout) throws TucsonOperationNotPossibleException, UnreachableNodeException, OperationTimeOutException
UniformSynchACC
urdp
TuCSoN primitive, reads (w/o removing) the specified
tuple from the given target tuplecentre. If more than one tuple matches
the template, Linda's non-deterministic selection is replaced by
PROBABILISTIC, UNIFORMLY DISTRIBUTED selection: the more a tuple is
present, the more likely it will be returned.
This time the primitive semantics is NOT SUSPENSIVE: if no tuple is found
to match the given template, a failure completion answer is forwarded to
the TuCSoN Agent exploiting this ACC.urdp
in interface UniformSynchACC
tid
- the target TuCSoN tuplecentre id
tid
tuple
- the tuple to be read from the target tuplecentretimeout
- the maximum waiting time for completion tolerated by the
TuCSoN agent behind this ACC. Notice that reaching the timeout
just unblocks the agent, but the request IS NOT REMOVED from
TuCSoN node pending requests (will still be served at sometime
in the future).TucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkOperationTimeOutException
- if the operation timeout expired prior to operation
completionTupleCentreId
,
ITucsonOperation
public ITucsonOperation urdp(TupleCentreId tid, Tuple tuple, TucsonOperationCompletionListener l) throws TucsonOperationNotPossibleException, UnreachableNodeException
UniformAsynchACC
urdp
TuCSoN primitive, reads (w/o removing) the specified
tuple in the given target tuplecentre. If more than one tuple matches the
template, Linda's non-deterministic selection is replaced by
PROBABILISTIC, UNIFORMLY DISTRIBUTED selection: the more a tuple is
present, the more likely it will be returned.
This time the primitive semantics is NOT SUSPENSIVE: if no tuple is found
to match the given template, a failure completion answer is forwarded to
the TuCSoN Agent exploiting this ACC.urdp
in interface UniformAsynchACC
tid
- the target TuCSoN tuplecentre id
tid
tuple
- the tuple to be read from the target tuplecentrel
- the listener who should be notified upon operation completionTucsonOperationNotPossibleException
- if the requested operation cannot be carried outUnreachableNodeException
- if the target tuple centre is not reachable over the networkTupleCentreId
,
TucsonOperationCompletionListener
,
ITucsonOperation
protected void log(java.lang.String msg)
msg
- String to display on the standard output