X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fcommons%2Fprotocol-framework%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fprotocol%2Fframework%2FAbstractDispatcher.java;h=5e55cddf8e766509336041264dcecd7af06a2932;hp=e90af73785eff5d2027b7f4fad5cd7e4a0105710;hb=980942efbb60ec417a83ea77f60767f7b21c1bd6;hpb=043856746f66822e2fec6e006a4bea87f897ac6d diff --git a/opendaylight/commons/protocol-framework/src/main/java/org/opendaylight/protocol/framework/AbstractDispatcher.java b/opendaylight/commons/protocol-framework/src/main/java/org/opendaylight/protocol/framework/AbstractDispatcher.java index e90af73785..5e55cddf8e 100644 --- a/opendaylight/commons/protocol-framework/src/main/java/org/opendaylight/protocol/framework/AbstractDispatcher.java +++ b/opendaylight/commons/protocol-framework/src/main/java/org/opendaylight/protocol/framework/AbstractDispatcher.java @@ -89,11 +89,23 @@ public abstract class AbstractDispatcher, L extends }); b.childOption(ChannelOption.SO_KEEPALIVE, true); + customizeBootstrap(b); + // Bind and start to accept incoming connections. final ChannelFuture f = b.bind(address); LOG.debug("Initiated server {} at {}.", f, address); return f; + } + /** + * Customize a server bootstrap before the server is created. This allows + * subclasses to assign non-default server options before the server is + * created. + * + * @param b Server bootstrap + */ + protected void customizeBootstrap(final ServerBootstrap b) { + // The default is a no-op } /** @@ -116,11 +128,25 @@ public abstract class AbstractDispatcher, L extends initializer.initializeChannel(ch, p); } }); + + customizeBootstrap(b); + p.connect(); LOG.debug("Client created."); return p; } + /** + * Customize a client bootstrap before the connection is attempted. This + * allows subclasses to assign non-default options before the client is + * created. + * + * @param b Client bootstrap + */ + protected void customizeBootstrap(final Bootstrap b) { + // The default is a no-op + } + /** * Creates a client. * @@ -138,7 +164,6 @@ public abstract class AbstractDispatcher, L extends p.connect(); return p; - } /**