import com.google.common.util.concurrent.MoreExecutors;
import io.netty.channel.ChannelFuture;
import java.util.Set;
-import java.util.concurrent.Future;
import org.opendaylight.protocol.bgp.rib.spi.BGPSession;
import org.opendaylight.protocol.bgp.rib.spi.PeerRPCs;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev180329.RouteRefresh;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev180329.RouteRefreshBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.peer.rpc.rev180329.BgpPeerRpcService;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.peer.rpc.rev180329.ResetSessionInput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.peer.rpc.rev180329.ResetSessionOutput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.peer.rpc.rev180329.ResetSessionOutputBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.peer.rpc.rev180329.RouteRefreshRequestInput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.peer.rpc.rev180329.RouteRefreshRequestOutput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.peer.rpc.rev180329.RouteRefreshRequestOutputBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.rib.TablesKey;
import org.opendaylight.yangtools.yang.common.RpcError.ErrorType;
import org.opendaylight.yangtools.yang.common.RpcResult;
}
@Override
- public Future<RpcResult<Void>> resetSession(final ResetSessionInput input) {
+ public ListenableFuture<RpcResult<ResetSessionOutput>> resetSession(final ResetSessionInput input) {
final ListenableFuture<?> f = this.peerRPCs.releaseConnection();
- return Futures.transform(JdkFutureAdapters.listenInPoolThread(f), input1 -> {
+ return Futures.transform(f, input1 -> {
if (f.isDone()) {
- return RpcResultBuilder.<Void>success().build();
+ return RpcResultBuilder.success(new ResetSessionOutputBuilder().build()).build();
}
- return RpcResultBuilder.<Void>failed().withError(ErrorType.RPC, FAILURE_RESET_SESSION_MSG).build();
+ return RpcResultBuilder.<ResetSessionOutput>failed().withError(ErrorType.RPC, FAILURE_RESET_SESSION_MSG)
+ .build();
}, MoreExecutors.directExecutor());
}
@Override
- public Future<RpcResult<Void>> routeRefreshRequest(final RouteRefreshRequestInput input) {
+ public ListenableFuture<RpcResult<RouteRefreshRequestOutput>> routeRefreshRequest(
+ final RouteRefreshRequestInput input) {
final ChannelFuture f = sendRRMessage(input);
if (f != null) {
return Futures.transform(JdkFutureAdapters.listenInPoolThread(f), input1 -> {
if (f.isSuccess()) {
- return RpcResultBuilder.<Void>success().build();
+ return RpcResultBuilder.success(new RouteRefreshRequestOutputBuilder().build()).build();
}
- return RpcResultBuilder.<Void>failed().withError(ErrorType.RPC, FAILURE_MSG).build();
+ return RpcResultBuilder.<RouteRefreshRequestOutput>failed().withError(ErrorType.RPC, FAILURE_MSG)
+ .build();
}, MoreExecutors.directExecutor());
}
- return RpcResultBuilder.<Void>failed().withError(ErrorType.RPC, FAILURE_MSG +
+ return RpcResultBuilder.<RouteRefreshRequestOutput>failed().withError(ErrorType.RPC, FAILURE_MSG +
" due to unsupported address families.").buildFuture();
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.peer.rpc.rev180329.PeerRef;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.peer.rpc.rev180329.ResetSessionInput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.peer.rpc.rev180329.ResetSessionInputBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.peer.rpc.rev180329.ResetSessionOutput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.peer.rpc.rev180329.RouteRefreshRequestInput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.peer.rpc.rev180329.RouteRefreshRequestInputBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.peer.rpc.rev180329.RouteRefreshRequestOutput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.rib.TablesKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.Ipv4AddressFamily;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.Ipv6AddressFamily;
.setAfi(Ipv4AddressFamily.class)
.setSafi(SubsequentAddressFamily.class)
.setPeerRef(this.peer).build();
- final Future<RpcResult<Void>> result = this.rpc.routeRefreshRequest(input);
+ final Future<RpcResult<RouteRefreshRequestOutput>> result = this.rpc.routeRefreshRequest(input);
assertTrue(result.get().getErrors().isEmpty());
}
.setAfi(Ipv6AddressFamily.class)
.setSafi(SubsequentAddressFamily.class)
.setPeerRef(this.peer).build();
- final Future<RpcResult<Void>> result = this.rpc.routeRefreshRequest(input);
+ final Future<RpcResult<RouteRefreshRequestOutput>> result = this.rpc.routeRefreshRequest(input);
assertEquals(1, result.get().getErrors().size());
assertEquals("Failed to send Route Refresh message due to unsupported address families.",
result.get().getErrors().iterator().next().getMessage());
Mockito.doReturn(Futures.immediateFuture(null)).when(this.peerRpcs).releaseConnection();
final ResetSessionInput input = new ResetSessionInputBuilder()
.setPeerRef(this.peer).build();
- final Future<RpcResult<Void>> result = this.rpc.resetSession(input);
+ final Future<RpcResult<ResetSessionOutput>> result = this.rpc.resetSession(input);
assertTrue(result.get().getErrors().isEmpty());
}
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev171025.RemoveLspOutput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev171025.RemoveLspOutputBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev171025.TearDownSessionInput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev171025.TearDownSessionOutput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev171025.TearDownSessionOutputBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev171025.TriggerSyncInput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev171025.TriggerSyncOutput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev171025.TriggerSyncOutputBuilder;
}
@Override
- public ListenableFuture<RpcResult<Void>> tearDownSession(final TearDownSessionInput input) {
+ public ListenableFuture<RpcResult<TearDownSessionOutput>> tearDownSession(final TearDownSessionInput input) {
return Futures.transform(this.manager.tearDownSession(input),
- input1 -> SuccessfulRpcResult.create(null), MoreExecutors.directExecutor());
+ input1 -> SuccessfulRpcResult.create(new TearDownSessionOutputBuilder().build()),
+ MoreExecutors.directExecutor());
}
}