From ac23470e5bf084ef38a7cd0a4052e59fe30158a1 Mon Sep 17 00:00:00 2001 From: Martin Bobak Date: Tue, 24 Mar 2015 13:01:24 +0100 Subject: [PATCH] RpcContext and RequestContext API fine tuning Change-Id: Ib9ffa744b2b0e483ced2dbe07cf5fb6dd439b5cb Signed-off-by: Martin Bobak --- .../api/openflow/device/RequestContext.java | 3 ++- .../api/openflow/rpc/RpcContext.java | 5 ++--- .../impl/rpc/RequestContextImpl.java | 10 ++++++++++ .../openflowplugin/impl/rpc/RpcContextImpl.java | 17 +++++------------ .../openflowplugin/impl/rpc/RpcManagerImpl.java | 12 ------------ 5 files changed, 19 insertions(+), 28 deletions(-) diff --git a/openflowplugin-api/src/main/java/org/opendaylight/openflowplugin/api/openflow/device/RequestContext.java b/openflowplugin-api/src/main/java/org/opendaylight/openflowplugin/api/openflow/device/RequestContext.java index f9380ac99d..99791a2a8c 100644 --- a/openflowplugin-api/src/main/java/org/opendaylight/openflowplugin/api/openflow/device/RequestContext.java +++ b/openflowplugin-api/src/main/java/org/opendaylight/openflowplugin/api/openflow/device/RequestContext.java @@ -22,5 +22,6 @@ public interface RequestContext { Future> createRequestFuture(DataObject dataObject); - + void requestSucceeded(); + void requestFailed(String exception); } diff --git a/openflowplugin-api/src/main/java/org/opendaylight/openflowplugin/api/openflow/rpc/RpcContext.java b/openflowplugin-api/src/main/java/org/opendaylight/openflowplugin/api/openflow/rpc/RpcContext.java index 19dc4404bc..f651a73a1f 100644 --- a/openflowplugin-api/src/main/java/org/opendaylight/openflowplugin/api/openflow/rpc/RpcContext.java +++ b/openflowplugin-api/src/main/java/org/opendaylight/openflowplugin/api/openflow/rpc/RpcContext.java @@ -7,7 +7,7 @@ */ package org.opendaylight.openflowplugin.api.openflow.rpc; -import org.opendaylight.openflowplugin.api.openflow.device.DeviceContext; +import org.opendaylight.openflowplugin.api.openflow.device.RequestContext; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.RpcService; import org.opendaylight.yangtools.yang.common.RpcResult; @@ -24,8 +24,6 @@ public interface RpcContext extends AutoCloseable { void registerRpcServiceImplementation(Class serviceClass, S serviceInstance); - void setDeviceContext(DeviceContext deviceContext); - /* * Method adds request to request queue which has limited quota. After number of requests exceeds quota limit * {@link org.opendaylight.openflowplugin.api.openflow.device.exception.RequestQuotaExceededException} is thrown. @@ -42,4 +40,5 @@ public interface RpcContext extends AutoCloseable { */ void setRequestContextQuota(int maxRequestsPerDevice); + void forgetRequestContext(RequestContext requestContext); } diff --git a/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/rpc/RequestContextImpl.java b/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/rpc/RequestContextImpl.java index 12e8f6e7dd..97c8196c7b 100644 --- a/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/rpc/RequestContextImpl.java +++ b/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/rpc/RequestContextImpl.java @@ -30,4 +30,14 @@ public class RequestContextImpl implements RequestContext { requestFuture = SettableFuture.create(); return requestFuture; } + + @Override + public void requestSucceeded() { + + } + + @Override + public void requestFailed(final String exception) { + + } } diff --git a/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/rpc/RpcContextImpl.java b/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/rpc/RpcContextImpl.java index f6b85ae7f6..d971cdcafe 100644 --- a/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/rpc/RpcContextImpl.java +++ b/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/rpc/RpcContextImpl.java @@ -45,18 +45,6 @@ public class RpcContextImpl implements RpcContext { rpcRegistrations.add(providerContext.addRoutedRpcImplementation(serviceClass, serviceInstance)); } - /** - * - * - * @see org.opendaylight.openflowplugin.api.openflow.rpc.RpcContext#setDeviceContext(DeviceContext) - * api.openflow.device.DeviceContext) - */ - @Override - public void setDeviceContext(final DeviceContext deviceContext) { - this.deviceContext = deviceContext; - - } - @Override public Future> addNewRequest(final DataObject data) { return null; @@ -82,6 +70,11 @@ public class RpcContextImpl implements RpcContext { this.maxRequestsPerDevice = maxRequestsPerDevice; } + @Override + public void forgetRequestContext(final RequestContext requestContext) { + + } + public boolean isRequestContextCapacityEmpty() { return requestContexts.size() <= maxRequestsPerDevice; } diff --git a/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/rpc/RpcManagerImpl.java b/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/rpc/RpcManagerImpl.java index 82d61f17e7..dd334549e8 100644 --- a/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/rpc/RpcManagerImpl.java +++ b/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/rpc/RpcManagerImpl.java @@ -17,10 +17,6 @@ public class RpcManagerImpl implements RpcManager { private DeviceContext deviceContext; - // /** - // * Collection of all rpc contexts which are available in rpc manager - // */ - // final List rpcContexts = new ArrayList<>(); private final ProviderContext providerContext; @@ -28,13 +24,6 @@ public class RpcManagerImpl implements RpcManager { this.providerContext = providerContext; } - // /** - // * @return number of rpc contexts - // */ - // public int getNumberOfRpcContexts() { - // return rpcContexts.size(); - // } - /** * (non-Javadoc) * @@ -43,7 +32,6 @@ public class RpcManagerImpl implements RpcManager { @Override public void deviceConnected(final DeviceContext deviceContext) { final RpcContext rpcContext = new RpcContextImpl(providerContext); - rpcContext.setDeviceContext(deviceContext); MdSalRegistratorUtils.registerServices(rpcContext); } } -- 2.36.6