From 2846cc0d4665a0735d6ebf349e5bc3a6f680d3d4 Mon Sep 17 00:00:00 2001 From: Marek Gradzki Date: Mon, 31 Oct 2016 14:37:57 +0100 Subject: HONEYCOMB-70: add control ping to vpp-state Change-Id: I7f02841d899465fd2156db0bb79fcc490cd4929f Signed-off-by: Marek Gradzki --- .../translate/v3po/vppstate/VersionCustomizer.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'v3po/v3po2vpp/src/main/java/io') diff --git a/v3po/v3po2vpp/src/main/java/io/fd/honeycomb/translate/v3po/vppstate/VersionCustomizer.java b/v3po/v3po2vpp/src/main/java/io/fd/honeycomb/translate/v3po/vppstate/VersionCustomizer.java index 71826dcb4..dfa0f9632 100644 --- a/v3po/v3po2vpp/src/main/java/io/fd/honeycomb/translate/v3po/vppstate/VersionCustomizer.java +++ b/v3po/v3po2vpp/src/main/java/io/fd/honeycomb/translate/v3po/vppstate/VersionCustomizer.java @@ -16,6 +16,7 @@ package io.fd.honeycomb.translate.v3po.vppstate; +import com.google.common.primitives.UnsignedInts; import io.fd.honeycomb.translate.read.ReadContext; import io.fd.honeycomb.translate.read.ReadFailedException; import io.fd.honeycomb.translate.spi.read.ReaderCustomizer; @@ -25,6 +26,9 @@ import io.fd.honeycomb.translate.vpp.util.JvppReplyConsumer; import io.fd.vpp.jvpp.core.dto.ShowVersion; import io.fd.vpp.jvpp.core.dto.ShowVersionReply; import io.fd.vpp.jvpp.core.future.FutureJVppCore; +import io.fd.vpp.jvpp.dto.ControlPing; +import io.fd.vpp.jvpp.dto.ControlPingReply; +import io.fd.vpp.jvpp.dto.JVppReply; import java.util.concurrent.CompletionStage; import javax.annotation.Nonnull; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev161214.VppStateBuilder; @@ -54,7 +58,7 @@ public final class VersionCustomizer } @Override - public void readCurrentAttributes(@Nonnull InstanceIdentifier id, @Nonnull final VersionBuilder builder, + public void readCurrentAttributes(@Nonnull final InstanceIdentifier id, @Nonnull final VersionBuilder builder, @Nonnull final ReadContext context) throws ReadFailedException { // Execute with timeout @@ -65,6 +69,14 @@ public final class VersionCustomizer builder.setName(toString(reply.program)); builder.setBuildDate(toString(reply.buildDate)); builder.setBuildDirectory(toString(reply.buildDirectory)); + builder.setPid(getPid(id)); } + private Long getPid(@Nonnull final InstanceIdentifier id) throws ReadFailedException { + final CompletionStage> request = getFutureJVpp().send(new ControlPing()); + final ControlPingReply reply = (ControlPingReply)getReplyForRead(request.toCompletableFuture(), id); + return UnsignedInts.toLong(reply.vpePid); + } + + } -- cgit 1.2.3-korg