import io.netty.channel.socket.SocketChannel;
import io.netty.util.concurrent.Promise;
+
import org.opendaylight.controller.netconf.api.NetconfSession;
import org.opendaylight.controller.netconf.util.handler.FramingMechanismHandlerFactory;
import org.opendaylight.controller.netconf.util.handler.NetconfHandlerFactory;
import org.opendaylight.controller.netconf.util.handler.NetconfMessageAggregator;
import org.opendaylight.controller.netconf.util.messages.FramingMechanism;
-import org.opendaylight.controller.netconf.util.messages.NetconfMessageFactory;
public abstract class AbstractChannelInitializer {
public void initialize(SocketChannel ch, Promise<? extends NetconfSession> promise){
- NetconfHandlerFactory handlerFactory = new NetconfHandlerFactory(new NetconfMessageFactory());
+ NetconfHandlerFactory handlerFactory = new NetconfHandlerFactory();
ch.pipeline().addLast("aggregator", new NetconfMessageAggregator(FramingMechanism.EOM));
ch.pipeline().addLast(handlerFactory.getDecoders());
initializeAfterDecoder(ch, promise);
package org.opendaylight.controller.netconf.util.handler;
import io.netty.channel.ChannelHandler;
-import org.opendaylight.controller.netconf.api.NetconfMessage;
+
import org.opendaylight.controller.netconf.util.messages.NetconfMessageFactory;
-import org.opendaylight.protocol.framework.ProtocolHandlerFactory;
import org.opendaylight.protocol.framework.ProtocolMessageDecoder;
import org.opendaylight.protocol.framework.ProtocolMessageEncoder;
-public class NetconfHandlerFactory extends ProtocolHandlerFactory<NetconfMessage> {
-
- public NetconfHandlerFactory(final NetconfMessageFactory msgFactory) {
- super(msgFactory);
- }
+public class NetconfHandlerFactory {
+ private final NetconfMessageFactory msgFactory = new NetconfMessageFactory();
- @Override
public ChannelHandler[] getEncoders() {
return new ChannelHandler[] { new ProtocolMessageEncoder(this.msgFactory) };
}
- @Override
public ChannelHandler[] getDecoders() {
return new ChannelHandler[] { new ProtocolMessageDecoder(this.msgFactory) };
}