public class CommandEnv
extends java.lang.Object
In particular, we need to keep things like file handles, arbitrary RPC function arguments, etc., around for use during complex long-running commands that span many dispatch calls in loop or duplex mode, etc., in response to single user commands like 'sync'.
Note that this is in distinction to a) the command's external environment (in the ExternalEnv class), and b) the command's individual function environments,
Modifier and Type | Class and Description |
---|---|
class |
CommandEnv.RpcHandler
P4Java's version of the notorious handler class
in the C++ API.
|
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
LINE_SEPARATOR
Sequence used by operating system to separate lines in text files.
|
static int |
MAX_HANDLERS
Max number of live handlers per command cycle.
|
Constructor and Description |
---|
CommandEnv(RpcServer server,
RpcCmdSpec cmdSpec,
RpcConnection rpcConnection,
ProtocolCommand protocolSpecs,
java.util.Map<java.lang.String,java.lang.Object> serverProtocolSpecsMap,
IProgressCallback progressCallback,
int cmdCallBackKey,
boolean syncInPlace,
boolean nonCheckedSyncs) |
Modifier and Type | Method and Description |
---|---|
boolean |
addHandler(CommandEnv.RpcHandler handler) |
void |
clearLastResultMap() |
int |
getCmdCallBackKey() |
RpcCmdSpec |
getCmdSpec() |
RpcPacketFieldRule |
getFieldRule() |
IFilterCallback |
getFilterCallback() |
CommandEnv.RpcHandler |
getHandler(java.lang.String handlerName) |
CommandEnv.RpcHandler[] |
getHandlers() |
IParallelCallback |
getParallelCallback() |
IProgressCallback |
getProgressCallback() |
ProtocolCommand |
getProtocolSpecs() |
java.util.List<java.util.Map<java.lang.String,java.lang.Object>> |
getResultMaps() |
RpcConnection |
getRpcConnection() |
RpcServer |
getServer() |
int |
getServerProtocolLevel() |
java.util.Map<java.lang.String,java.lang.Object> |
getServerProtocolSpecsMap() |
java.util.Map<java.lang.String,java.lang.Object> |
getStateMap() |
IStreamingCallback |
getStreamingCallback() |
int |
getStreamingCallbackKey() |
long |
getSyncTime() |
void |
handlePartialResult(java.util.Map<java.lang.String,java.lang.Object> resultMap)
Handle a partial result by either adding it to the resultsMapVec
for later processing or passing it up to the streaming results
callback handler.
|
void |
handleResult(java.util.Map<java.lang.String,java.lang.Object> resultMap)
Handle a result by either adding it to the resultsMapVec
for later processing or passing it up to the streaming results
callback handler.
|
boolean |
isBufferOutput() |
boolean |
isDontWriteTicket() |
boolean |
isNonCheckedSyncs() |
boolean |
isNullSync() |
boolean |
isStreamCmd() |
boolean |
isSyncInPlace() |
boolean |
isUserCanceled() |
void |
newHandler() |
void |
resetPartialResult() |
void |
setBufferOutput(boolean bufferOutput) |
void |
setCmdCallBackKey(int cmdCallBackKey) |
void |
setCmdSpec(RpcCmdSpec cmdSpec) |
void |
setDontWriteTicket(boolean dontWriteTicket) |
void |
setFieldRule(RpcPacketFieldRule fieldRule) |
void |
setFilterCallback(IFilterCallback filterCallback) |
void |
setHandlers(CommandEnv.RpcHandler[] handlers) |
void |
setNonCheckedSyncs(boolean nonCheckedSyncs) |
void |
setNullSync(boolean nullSync) |
void |
setParallelCallback(IParallelCallback parallelCallback) |
void |
setProgressCallback(IProgressCallback progressCallback) |
void |
setProtocolSpecs(ProtocolCommand protocolSpecs) |
void |
setResultMaps(java.util.List<java.util.Map<java.lang.String,java.lang.Object>> resultMaps) |
void |
setRpcConnection(RpcConnection rpcConnection) |
void |
setServerProtocolSpecsMap(java.util.Map<java.lang.String,java.lang.Object> serverProtocolSpecsMap) |
void |
setStateMap(java.util.Map<java.lang.String,java.lang.Object> stateMap) |
void |
setStreamCmd(boolean streamCmd) |
void |
setStreamingCallback(IStreamingCallback streamingCallback) |
void |
setStreamingCallbackKey(int streamingCallbackKey) |
void |
setSyncInPlace(boolean syncInPlace) |
void |
setSyncTime(long syncTime) |
void |
setUserCanceled(boolean userCanceled) |
public static final int MAX_HANDLERS
public static final java.lang.String LINE_SEPARATOR
public CommandEnv(RpcServer server, RpcCmdSpec cmdSpec, RpcConnection rpcConnection, ProtocolCommand protocolSpecs, java.util.Map<java.lang.String,java.lang.Object> serverProtocolSpecsMap, IProgressCallback progressCallback, int cmdCallBackKey, boolean syncInPlace, boolean nonCheckedSyncs)
public boolean addHandler(CommandEnv.RpcHandler handler)
public void handleResult(java.util.Map<java.lang.String,java.lang.Object> resultMap)
resultMap
- resultMappublic void handlePartialResult(java.util.Map<java.lang.String,java.lang.Object> resultMap)
resultMap
- resultMappublic void resetPartialResult()
public CommandEnv.RpcHandler getHandler(java.lang.String handlerName)
public RpcCmdSpec getCmdSpec()
public void setCmdSpec(RpcCmdSpec cmdSpec)
public java.util.List<java.util.Map<java.lang.String,java.lang.Object>> getResultMaps()
public void setResultMaps(java.util.List<java.util.Map<java.lang.String,java.lang.Object>> resultMaps)
public void clearLastResultMap()
public java.util.Map<java.lang.String,java.lang.Object> getStateMap()
public void setStateMap(java.util.Map<java.lang.String,java.lang.Object> stateMap)
public ProtocolCommand getProtocolSpecs()
public int getServerProtocolLevel()
public void setProtocolSpecs(ProtocolCommand protocolSpecs)
public RpcConnection getRpcConnection()
public void setRpcConnection(RpcConnection rpcConnection)
public CommandEnv.RpcHandler[] getHandlers()
public void setHandlers(CommandEnv.RpcHandler[] handlers)
public void newHandler()
public java.util.Map<java.lang.String,java.lang.Object> getServerProtocolSpecsMap()
public void setServerProtocolSpecsMap(java.util.Map<java.lang.String,java.lang.Object> serverProtocolSpecsMap)
public IProgressCallback getProgressCallback()
public void setProgressCallback(IProgressCallback progressCallback)
public int getCmdCallBackKey()
public void setCmdCallBackKey(int cmdCallBackKey)
public boolean isUserCanceled()
public void setUserCanceled(boolean userCanceled)
public boolean isSyncInPlace()
public void setSyncInPlace(boolean syncInPlace)
public IStreamingCallback getStreamingCallback()
public void setStreamingCallback(IStreamingCallback streamingCallback)
public int getStreamingCallbackKey()
public void setStreamingCallbackKey(int streamingCallbackKey)
public boolean isNonCheckedSyncs()
public void setNonCheckedSyncs(boolean nonCheckedSyncs)
public boolean isDontWriteTicket()
public void setDontWriteTicket(boolean dontWriteTicket)
public boolean isStreamCmd()
public void setStreamCmd(boolean streamCmd)
public RpcPacketFieldRule getFieldRule()
public void setFieldRule(RpcPacketFieldRule fieldRule)
public IFilterCallback getFilterCallback()
public void setFilterCallback(IFilterCallback filterCallback)
public IParallelCallback getParallelCallback()
public void setParallelCallback(IParallelCallback parallelCallback)
public RpcServer getServer()
public long getSyncTime()
public void setSyncTime(long syncTime)
public boolean isNullSync()
public void setNullSync(boolean nullSync)
public boolean isBufferOutput()
public void setBufferOutput(boolean bufferOutput)