X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fcds-access-api%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Faccess%2Fconcepts%2FRequestEnvelope.java;h=46d5d1f99620b83304b49e7d160a6648768dce65;hp=263664bd06e839147628965b8ec903e362ee5fd6;hb=b998131396132a7630f271f9baea225b45fde789;hpb=c9d61ee66367d819319bb8ccfa9f9b0555264d86 diff --git a/opendaylight/md-sal/cds-access-api/src/main/java/org/opendaylight/controller/cluster/access/concepts/RequestEnvelope.java b/opendaylight/md-sal/cds-access-api/src/main/java/org/opendaylight/controller/cluster/access/concepts/RequestEnvelope.java index 263664bd06..46d5d1f996 100644 --- a/opendaylight/md-sal/cds-access-api/src/main/java/org/opendaylight/controller/cluster/access/concepts/RequestEnvelope.java +++ b/opendaylight/md-sal/cds-access-api/src/main/java/org/opendaylight/controller/cluster/access/concepts/RequestEnvelope.java @@ -12,8 +12,8 @@ import akka.actor.ActorRef; public final class RequestEnvelope extends Envelope> { private static final long serialVersionUID = 1L; - public RequestEnvelope(final Request message, final long sequence, final long retry) { - super(message, sequence, retry); + public RequestEnvelope(final Request message, final long sessionId, final long txSequence) { + super(message, sessionId, txSequence); } @Override @@ -25,10 +25,12 @@ public final class RequestEnvelope extends Envelope> { * Respond to this envelope with a {@link RequestFailure} caused by specified {@link RequestException}. * * @param cause Cause of this {@link RequestFailure} + * @param executionTimeNanos Time to execute the request, in nanoseconds * @throws NullPointerException if cause is null */ - public void sendFailure(final RequestException cause) { - sendResponse(new FailureEnvelope(getMessage().toRequestFailure(cause), getSequence(), getRetry())); + public void sendFailure(final RequestException cause, final long executionTimeNanos) { + sendResponse(new FailureEnvelope(getMessage().toRequestFailure(cause), getSessionId(), getTxSequence(), + executionTimeNanos)); } /** @@ -37,8 +39,19 @@ public final class RequestEnvelope extends Envelope> { * @param success Successful response * @throws NullPointerException if success is null */ - public void sendSuccess(final RequestSuccess success) { - sendResponse(new SuccessEnvelope(success, getSequence(), getRetry())); + public void sendSuccess(final RequestSuccess success, final long executionTimeNanos) { + sendResponse(newSuccessEnvelope(success, executionTimeNanos)); + } + + /** + * Creates a successful ResponseEnvelope that wraps the given successful Request response message. + * + * @param success the successful Request response message + * @param executionTimeNanos the execution time of the request + * @return a {@link ResponseEnvelope} instance + */ + public ResponseEnvelope newSuccessEnvelope(final RequestSuccess success, final long executionTimeNanos) { + return new SuccessEnvelope(success, getSessionId(), getTxSequence(), executionTimeNanos); } private void sendResponse(final ResponseEnvelope envelope) {