public class ProvaMessengerImpl extends java.lang.Object implements ProvaMessenger
| Constructor and Description |
|---|
ProvaMessengerImpl(ProvaReagent prova,
ProvaKnowledgeBase kb,
java.lang.String agent,
java.lang.String password,
java.lang.String machine,
ProvaAgent esb) |
| Modifier and Type | Method and Description |
|---|---|
void |
addGroupResult(ProvaList terms) |
void |
addMsg(ProvaList terms) |
void |
addMsg(java.lang.String xid,
java.util.Map<java.lang.String,java.lang.Object> msg)
A simplified version of sending async messages, as used, for example,
in the StreamBase Prova operator
|
void |
addMsg(java.lang.String xid,
java.lang.String agent,
java.lang.String verb,
java.lang.Object payload) |
void |
cleanupGroup(java.lang.String dynamicGroup) |
static void |
cleanupThreadlocals() |
java.lang.String |
generateCid() |
static long |
partitionKey(java.lang.String cid) |
boolean |
prepareMsg(ProvaLiteral literal,
java.util.List<ProvaLiteral> newLiterals,
ProvaRule query)
Prepare a rcvMsg goal for sending on the main agent thread if the verb is
'self' or a thread chosen according to the conversation-id cid (if the
verb is 'async' or other).
|
boolean |
rcvMsg(ProvaGoal goal,
java.util.List<ProvaLiteral> newLiterals,
ProvaRule query,
boolean mult) |
boolean |
rcvMsgP(ProvaGoal goal,
java.util.List<ProvaLiteral> newLiterals,
ProvaRule query,
boolean mult) |
boolean |
removeTemporalRule(ProvaPredicate predicate,
ProvaPredicate predicate2,
long key,
boolean recursive,
ProvaList reaction,
java.util.Map<java.lang.String,java.util.List<java.lang.Object>> metadata) |
void |
scheduleCleanup(ProvaGroup dynamic,
long delay) |
void |
scheduleCleanup(ProvaObject xid,
ProvaGroup group,
ProvaPredicate p1,
ProvaPredicate p2,
long ruleid,
long delay,
long period,
java.util.Map<java.lang.String,java.util.List<java.lang.Object>> metadata) |
boolean |
sendMsg(ProvaLiteral literal,
java.util.List<ProvaLiteral> newLiterals,
ProvaRule query)
Submits asynchronously a rcvMsg goal scheduled on the main agent thread
if the verb is 'self' or a thread chosen according to the conversation-id
cid (if the verb is 'async' or other).
|
void |
sendReturnAsMsg(ProvaConstant cid,
java.lang.Object ret) |
void |
setService(ProvaMiniService service) |
boolean |
spawn(ProvaLiteral literal,
java.util.List<ProvaLiteral> newLiterals,
ProvaRule query) |
void |
stop() |
public ProvaMessengerImpl(ProvaReagent prova, ProvaKnowledgeBase kb, java.lang.String agent, java.lang.String password, java.lang.String machine, ProvaAgent esb)
public boolean prepareMsg(ProvaLiteral literal, java.util.List<ProvaLiteral> newLiterals, ProvaRule query)
The message is sent when the next rcvMsg literal is encountered or the whole query is complete.
prepareMsg in interface ProvaMessengerpublic static long partitionKey(java.lang.String cid)
public boolean sendMsg(ProvaLiteral literal, java.util.List<ProvaLiteral> newLiterals, ProvaRule query)
sendMsg in interface ProvaMessengerpublic void sendReturnAsMsg(ProvaConstant cid, java.lang.Object ret)
sendReturnAsMsg in interface ProvaMessengerpublic boolean spawn(ProvaLiteral literal, java.util.List<ProvaLiteral> newLiterals, ProvaRule query)
spawn in interface ProvaMessengerpublic java.lang.String generateCid()
generateCid in interface ProvaMessengerpublic boolean rcvMsg(ProvaGoal goal, java.util.List<ProvaLiteral> newLiterals, ProvaRule query, boolean mult)
rcvMsg in interface ProvaMessengerpublic boolean rcvMsgP(ProvaGoal goal, java.util.List<ProvaLiteral> newLiterals, ProvaRule query, boolean mult)
rcvMsgP in interface ProvaMessengerpublic void scheduleCleanup(ProvaGroup dynamic, long delay)
scheduleCleanup in interface ProvaMessengerpublic void scheduleCleanup(ProvaObject xid, ProvaGroup group, ProvaPredicate p1, ProvaPredicate p2, long ruleid, long delay, long period, java.util.Map<java.lang.String,java.util.List<java.lang.Object>> metadata)
scheduleCleanup in interface ProvaMessengerpublic void addMsg(ProvaList terms)
addMsg in interface ProvaMessengerpublic void addMsg(java.lang.String xid,
java.util.Map<java.lang.String,java.lang.Object> msg)
addMsg in interface ProvaMessengerpublic void addMsg(java.lang.String xid,
java.lang.String agent,
java.lang.String verb,
java.lang.Object payload)
addMsg in interface ProvaMessengerpublic boolean removeTemporalRule(ProvaPredicate predicate, ProvaPredicate predicate2, long key, boolean recursive, ProvaList reaction, java.util.Map<java.lang.String,java.util.List<java.lang.Object>> metadata)
removeTemporalRule in interface ProvaMessengerpublic void cleanupGroup(java.lang.String dynamicGroup)
cleanupGroup in interface ProvaMessengerpublic void addGroupResult(ProvaList terms)
addGroupResult in interface ProvaMessengerpublic static void cleanupThreadlocals()
public void stop()
stop in interface ProvaMessengerpublic void setService(ProvaMiniService service)
setService in interface ProvaMessengerCopyright © 2019. All Rights Reserved.