X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fcds-access-api%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Faccess%2Fconcepts%2FResponseEnvelope.java;h=7936baa1696059b184b8ff55f548ac5fd6e9229b;hb=refs%2Fchanges%2F86%2F48686%2F16;hp=a3625f665a218998fb3229c90e727b834f663e28;hpb=c9d61ee66367d819319bb8ccfa9f9b0555264d86;p=controller.git diff --git a/opendaylight/md-sal/cds-access-api/src/main/java/org/opendaylight/controller/cluster/access/concepts/ResponseEnvelope.java b/opendaylight/md-sal/cds-access-api/src/main/java/org/opendaylight/controller/cluster/access/concepts/ResponseEnvelope.java index a3625f665a..7936baa169 100644 --- a/opendaylight/md-sal/cds-access-api/src/main/java/org/opendaylight/controller/cluster/access/concepts/ResponseEnvelope.java +++ b/opendaylight/md-sal/cds-access-api/src/main/java/org/opendaylight/controller/cluster/access/concepts/ResponseEnvelope.java @@ -7,10 +7,29 @@ */ package org.opendaylight.controller.cluster.access.concepts; +import com.google.common.base.Preconditions; + public abstract class ResponseEnvelope> extends Envelope { private static final long serialVersionUID = 1L; - ResponseEnvelope(final T message, final long sequence, final long retry) { - super(message, sequence, retry); + private final long executionTimeNanos; + + ResponseEnvelope(final T message, final long sessionId, final long txSequence, final long executionTimeNanos) { + super(message, sessionId, txSequence); + Preconditions.checkArgument(executionTimeNanos >= 0); + this.executionTimeNanos = executionTimeNanos; } + + /** + * Return the time the request took to execute in nanoseconds. This may not reflect the actual CPU time, but rather + * a measure of the complexity involved in servicing the original request. + * + * @return Time the request took to execute in nanoseconds + */ + public final long getExecutionTimeNanos() { + return executionTimeNanos; + } + + @Override + abstract AbstractResponseEnvelopeProxy createProxy(); }