@Override
public void onSuccess(final RpcResult<I> fRpcResult) {
if (!fRpcResult.isSuccessful()) {
- deviceContext.getMessageSpy().spyMessage(getRequestContext().getClass(), MessageSpy.STATISTIC_GROUP.FROM_SWITCH_PUBLISHED_FAILURE);
+ deviceContext.getMessageSpy().spyMessage(getRequestContext().getClass(), MessageSpy.STATISTIC_GROUP.TO_SWITCH_SUBMIT_FAILURE);
// remove current request from request cache in deviceContext
deviceContext.unhookRequestCtx(getRequestContext().getXid());
// handle requestContext failure
- StringBuilder rpcErrors = new StringBuilder();
- if (null != fRpcResult.getErrors() && fRpcResult.getErrors().size() > 0) {
- for (RpcError error : fRpcResult.getErrors()) {
- rpcErrors.append(error.getMessage());
+ if (LOG.isTraceEnabled()) {
+ StringBuilder rpcErrors = new StringBuilder();
+ if (null != fRpcResult.getErrors() && fRpcResult.getErrors().size() > 0) {
+ for (RpcError error : fRpcResult.getErrors()) {
+ rpcErrors.append(error.getMessage());
+ LOG.trace("Errors from rpc result.. ",error);
+ }
}
+ LOG.trace("OF Java result for XID {} was not successful. Errors : {}", getRequestContext().getXid().getValue(), rpcErrors.toString());
+
}
- LOG.trace("OF Java result for XID {} was not successful. Errors : {}", getRequestContext().getXid().getValue(), rpcErrors.toString());
- getRequestContext().getFuture().set(
+
+ getRequestContext().setResult(
RpcResultBuilder.<O>failed().withRpcErrors(fRpcResult.getErrors()).build());
RequestContextUtil.closeRequstContext(getRequestContext());
} else {
// else: message was successfully sent - waiting for callback on requestContext.future to get invoked
// or can be implemented specific processing via processSuccess() method
+ deviceContext.getMessageSpy().spyMessage(getRequestContext().getClass(), MessageSpy.STATISTIC_GROUP.TO_SWITCH_SUBMIT_SUCCESS);
processSuccess(fRpcResult);
}
}
deviceContext.unhookRequestCtx(getRequestContext().getXid());
if (futureResultFromOfLib.isCancelled()) {
- deviceContext.getMessageSpy().spyMessage(getRequestContext().getClass(), MessageSpy.STATISTIC_GROUP.FROM_SWITCH_PUBLISHED_SUCCESS);
+ deviceContext.getMessageSpy().spyMessage(getRequestContext().getClass(), MessageSpy.STATISTIC_GROUP.TO_SWITCH_SUBMIT_SUCCESS_NO_RESPONSE);
LOG.trace("Asymmetric message - no response from OF Java expected for XID {}. Closing as successful.", getRequestContext().getXid().getValue());
- getRequestContext().getFuture().set(RpcResultBuilder.<O>success().build());
+ getRequestContext().setResult(RpcResultBuilder.<O>success().build());
} else {
- deviceContext.getMessageSpy().spyMessage(getRequestContext().getClass(), MessageSpy.STATISTIC_GROUP.FROM_SWITCH_PUBLISHED_FAILURE);
+ deviceContext.getMessageSpy().spyMessage(getRequestContext().getClass(), MessageSpy.STATISTIC_GROUP.TO_SWITCH_SUBMIT_ERROR);
LOG.trace("Exception occured while processing OF Java response for XID {}.", getRequestContext().getXid().getValue(), throwable);
- getRequestContext().getFuture().set(
+ getRequestContext().setResult(
RpcResultBuilder.<O>failed()
.withError(RpcError.ErrorType.APPLICATION, "OF JAVA operation failed.", throwable)
.build());