Add blueprint wiring for netty configs
[controller.git] / opendaylight / config / netty-event-executor-config / src / main / java / org / opendaylight / controller / config / yang / netty / eventexecutor / AutoCloseableEventExecutor.java
index 69ea51f3a50eb5f5c762054e0988bf2cb6ee8fbf..cb721db67d597cac0efc0ef93341c8b264f1a98f 100644 (file)
@@ -10,7 +10,8 @@ package org.opendaylight.controller.config.yang.netty.eventexecutor;
 import com.google.common.reflect.AbstractInvocationHandler;
 import com.google.common.reflect.Reflection;
 import io.netty.util.concurrent.EventExecutor;
-
+import io.netty.util.concurrent.GlobalEventExecutor;
+import io.netty.util.concurrent.ImmediateEventExecutor;
 import java.lang.reflect.Method;
 import java.util.concurrent.TimeUnit;
 
@@ -31,7 +32,7 @@ public interface AutoCloseableEventExecutor extends EventExecutor, AutoCloseable
         }
 
 
-        public static AutoCloseable createCloseableProxy(final EventExecutor eventExecutor) {
+        private static AutoCloseableEventExecutor createCloseableProxy(final EventExecutor eventExecutor) {
             final CloseableEventExecutorMixin closeableGlobalEventExecutorMixin =
                     new CloseableEventExecutorMixin(eventExecutor);
             return Reflection.newProxy(AutoCloseableEventExecutor.class, new AbstractInvocationHandler() {
@@ -47,6 +48,12 @@ public interface AutoCloseableEventExecutor extends EventExecutor, AutoCloseable
             });
         }
 
+        public static AutoCloseableEventExecutor globalEventExecutor() {
+            return createCloseableProxy(GlobalEventExecutor.INSTANCE);
+        }
 
+        public static AutoCloseableEventExecutor immediateEventExecutor() {
+            return createCloseableProxy(ImmediateEventExecutor.INSTANCE);
+        }
     }
 }
\ No newline at end of file