public class ShadowController extends MINAEndpoint
ADDRESS, CRED_CLASS, CREDENTAILS, PROTOCOL_CLASS, SERVICE_CLASS, TRANSPORT_CLASS
Constructor and Description |
---|
ShadowController() |
Modifier and Type | Method and Description |
---|---|
void |
addBreakpoint(BreakpointType type,
java.lang.String modelName,
java.lang.String details) |
void |
attach()
start up the service
|
protected void |
checkConnection() |
void |
clearBreakpoints() |
void |
detach(boolean force) |
org.antlr.runtime.tree.CommonTree |
getBreakpointData(java.lang.String modelName) |
double |
getCurrentSimulationTime() |
ShadowIOHandler |
getHandler() |
BaseIOHandler |
getIOHandler()
return the io handler that handles all the communications
|
org.antlr.runtime.tree.CommonTree |
getModelDescriptor(java.lang.String modelName) |
java.util.Collection<java.lang.String> |
getModelNames() |
java.util.Collection<java.lang.String> |
getRunningModels() |
protected long |
getStateCounter()
should only be called from within the lock blocks
|
java.util.Collection<java.lang.String> |
getSuspendedModels() |
java.util.Collection<java.lang.String> |
getTerminatedModels() |
boolean |
isConnected() |
boolean |
isRunning() |
boolean |
isRunning(java.lang.String modelName) |
boolean |
isSuspended() |
boolean |
isSuspended(java.lang.String modelName) |
void |
removeBreakpoint(BreakpointType type,
java.lang.String modelName,
java.lang.String details) |
void |
reset() |
void |
resume() |
void |
resume(java.lang.String modelName) |
void |
resumed(java.lang.String modelName)
called by the io handler only when the actual runtime has resumed.
|
void |
setBreakpointData(java.lang.String modelName,
org.antlr.runtime.tree.CommonTree breakpointData) |
void |
setCurrentSimulationTime(double time) |
void |
setModelDescriptor(java.lang.String modelName,
org.antlr.runtime.tree.CommonTree modelDescriptor) |
void |
setProductionEnabled(java.lang.String modelName,
java.lang.String productionName,
boolean enabled) |
void |
start() |
void |
start(boolean suspendImmediately) |
void |
started(java.util.Collection<java.lang.String> modelNames)
called by the io handler only when the runtime has actually started.
|
void |
stop() |
void |
stop(java.lang.String modelName) |
void |
stopped(java.lang.String modelName)
called by the io handler only when the runtime has stopped.
|
void |
suspend() |
void |
suspend(java.lang.String modelName) |
void |
suspended(java.lang.String modelName)
called by the io handler only to signal that the runtime (where ever it is)
has been suspended.
|
boolean |
waitForCompletion() |
boolean |
waitForCompletion(long maxWait) |
boolean |
waitForConnection(long timeout)
after attach is called (which will start the configured service) you will
often need to wait for the connection to be completed (established with the
remote)
|
boolean |
waitForResumption() |
boolean |
waitForResumption(long maxWait)
Will wait until one of three things happens: the state is now resumed, the
state has changed otherwise, or maxWait milliseconds have elapsed
|
boolean |
waitForStart() |
boolean |
waitForStart(long maxWait)
Will wait until one of three things happens: the state is now running, the
state has changed otherwise, or maxWait milliseconds have elapsed
|
long |
waitForStateChange() |
long |
waitForStateChange(long maxWait)
wait at most maxWait milliseconds for some change of state in the system.
|
boolean |
waitForSuspension() |
boolean |
waitForSuspension(long maxWait)
Will wait until one of three things happens: the state is now suspended,
the state has changed otherwise, or maxWait milliseconds have elapsed
|
connect, disconnect, disconnect, getActualAddress, getActualCredentials, getClass, getExecutorService, getParameter, getPossibleParameters, getSetableParameters, instance, setAddressInfo, setCredentialInformation, setCredentialsClass, setExecutorService, setParameter, setProtocol, setService, setTransportProvider
public java.util.Collection<java.lang.String> getModelNames()
public java.util.Collection<java.lang.String> getRunningModels()
public java.util.Collection<java.lang.String> getTerminatedModels()
public java.util.Collection<java.lang.String> getSuspendedModels()
public org.antlr.runtime.tree.CommonTree getModelDescriptor(java.lang.String modelName)
public void setModelDescriptor(java.lang.String modelName, org.antlr.runtime.tree.CommonTree modelDescriptor)
public org.antlr.runtime.tree.CommonTree getBreakpointData(java.lang.String modelName)
public void setBreakpointData(java.lang.String modelName, org.antlr.runtime.tree.CommonTree breakpointData)
public boolean isConnected()
public boolean waitForConnection(long timeout) throws java.lang.InterruptedException
timeout
- milliseconds to waitjava.lang.InterruptedException
protected void checkConnection()
public void attach()
IController.attach()
public ShadowIOHandler getHandler()
public BaseIOHandler getIOHandler()
MINAEndpoint
getIOHandler
in class MINAEndpoint
public void detach(boolean force)
public double getCurrentSimulationTime()
public void setCurrentSimulationTime(double time)
public boolean isRunning()
IController.isRunning()
public boolean isRunning(java.lang.String modelName)
public boolean isSuspended()
IController.isSuspended()
public boolean isSuspended(java.lang.String modelName)
public void addBreakpoint(BreakpointType type, java.lang.String modelName, java.lang.String details)
public void removeBreakpoint(BreakpointType type, java.lang.String modelName, java.lang.String details)
public void clearBreakpoints()
public void setProductionEnabled(java.lang.String modelName, java.lang.String productionName, boolean enabled)
public void reset()
org.jactr.core.runtime.controller.IController#reset()
public void resume()
IController.resume()
public void resume(java.lang.String modelName)
public void start()
IController.start()
public void start(boolean suspendImmediately)
IController.start(boolean)
public void stop()
IController.stop()
public void stop(java.lang.String modelName)
public void suspend()
IController.suspend()
public void suspend(java.lang.String modelName)
public long waitForStateChange() throws java.lang.InterruptedException
java.lang.InterruptedException
public long waitForStateChange(long maxWait) throws java.lang.InterruptedException
maxWait
- java.lang.InterruptedException
protected long getStateCounter()
public boolean waitForCompletion() throws java.lang.InterruptedException
java.lang.InterruptedException
public boolean waitForCompletion(long maxWait) throws java.lang.InterruptedException
java.lang.InterruptedException
IController.waitForCompletion()
public void resumed(java.lang.String modelName)
public boolean waitForResumption() throws java.lang.InterruptedException
java.lang.InterruptedException
waitForResumption(long)
public boolean waitForResumption(long maxWait) throws java.lang.InterruptedException
maxWait
- milliseconds to block, 0 is indefinitejava.lang.InterruptedException
waitForStateChange(long)
public void suspended(java.lang.String modelName)
public boolean waitForSuspension() throws java.lang.InterruptedException
java.lang.InterruptedException
waitForSuspension(long)
public boolean waitForSuspension(long maxWait) throws java.lang.InterruptedException
maxWait
- milliseconds to block, 0 is indefinitejava.lang.InterruptedException
waitForStateChange(long)
public boolean waitForStart() throws java.lang.InterruptedException
java.lang.InterruptedException
IController.waitForStart()
public boolean waitForStart(long maxWait) throws java.lang.InterruptedException
maxWait
- milliseconds to block, 0 is indefinitejava.lang.InterruptedException
waitForStateChange(long)
public void started(java.util.Collection<java.lang.String> modelNames)
public void stopped(java.lang.String modelName)