[ONOS-2594] Channel handle to manage session handling with BGP peers
Change-Id: I6c58c674aa17e2a86b063e248af589d524ec5fe3
diff --git a/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/Controller.java b/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/Controller.java
index 402e8c9..5eed3cf 100755
--- a/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/Controller.java
+++ b/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/Controller.java
@@ -29,6 +29,10 @@
import org.jboss.netty.channel.group.ChannelGroup;
import org.jboss.netty.channel.group.DefaultChannelGroup;
import org.jboss.netty.channel.socket.nio.NioServerSocketChannelFactory;
+import org.onosproject.bgp.controller.BGPController;
+import org.onosproject.bgpio.protocol.BGPFactories;
+import org.onosproject.bgpio.protocol.BGPFactory;
+import org.onosproject.bgpio.protocol.BGPVersion;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -38,31 +42,41 @@
*/
public class Controller {
- protected static final Logger log = LoggerFactory.getLogger(Controller.class);
+ private static final Logger log = LoggerFactory.getLogger(Controller.class);
+
+ private static final BGPFactory FACTORY4 = BGPFactories.getFactory(BGPVersion.BGP_4);
private ChannelGroup cg;
// Configuration options
private static final short BGP_PORT_NUM = 179;
- private int workerThreads = 16;
+ private final int workerThreads = 16;
// Start time of the controller
- protected long systemStartTime;
+ private long systemStartTime;
private NioServerSocketChannelFactory serverExecFactory;
+ private BGPController bgpController;
// Perf. related configuration
- protected static final int SEND_BUFFER_SIZE = 4 * 1024 * 1024;
-
- BGPControllerImpl bgpCtrlImpl;
+ private static final int SEND_BUFFER_SIZE = 4 * 1024 * 1024;
/**
- * Constructor to initialize parameter.
+ * Constructor to initialize the values.
*
- * @param bgpCtrlImpl BGP controller Impl instance
+ * @param bgpController bgp controller instance
*/
- public Controller(BGPControllerImpl bgpCtrlImpl) {
- this.bgpCtrlImpl = bgpCtrlImpl;
+ public Controller(BGPController bgpController) {
+ this.bgpController = bgpController;
+ }
+
+ /**
+ * Returns factory version for processing BGP messages.
+ *
+ * @return instance of factory version
+ */
+ static BGPFactory getBGPMessageFactory4() {
+ return FACTORY4;
}
// ***************
@@ -95,7 +109,7 @@
bootstrap.setOption("child.tcpNoDelay", true);
bootstrap.setOption("child.sendBufferSize", Controller.SEND_BUFFER_SIZE);
- ChannelPipelineFactory pfact = new BGPPipelineFactory(bgpCtrlImpl, true);
+ ChannelPipelineFactory pfact = new BGPPipelineFactory(bgpController, true);
bootstrap.setPipelineFactory(pfact);
InetSocketAddress sa = new InetSocketAddress(getBgpPortNum());