Example usage for io.netty.handler.codec.base64 Base64Decoder Base64Decoder

List of usage examples for io.netty.handler.codec.base64 Base64Decoder Base64Decoder

Introduction

In this page you can find the example usage for io.netty.handler.codec.base64 Base64Decoder Base64Decoder.

Prototype

public Base64Decoder() 

Source Link

Usage

From source file:jgnash.engine.attachment.AttachmentTransferServer.java

License:Open Source License

public boolean startServer(final char[] password) {
    boolean result = false;

    // If a password has been specified, create an EncryptionManager
    if (password != null && password.length > 0) {
        encryptionManager = new EncryptionManager(password);
    }/*from www .  j a  v  a2  s  . c  om*/

    try {
        ServerBootstrap b = new ServerBootstrap();
        b.group(eventLoopGroup).channel(NioServerSocketChannel.class).option(ChannelOption.SO_KEEPALIVE, true)
                .handler(new LoggingHandler(LogLevel.INFO))
                .childHandler(new ChannelInitializer<SocketChannel>() {

                    @Override
                    public void initChannel(final SocketChannel ch) throws Exception {

                        ch.pipeline().addLast(
                                new DelimiterBasedFrameDecoder(((TRANSFER_BUFFER_SIZE + 2) / 3) * 4 + PATH_MAX,
                                        true, Delimiters.lineDelimiter()),

                                new StringEncoder(CharsetUtil.UTF_8), new StringDecoder(CharsetUtil.UTF_8),

                                new Base64Encoder(), new Base64Decoder(),

                                new ServerTransferHandler());
                    }
                });

        // Start the server.
        final ChannelFuture future = b.bind(port).sync();

        if (future.isDone() && future.isSuccess()) {
            result = true;
            logger.info("File Transfer Server started successfully");
        } else {
            logger.info("Failed to start the File Transfer Server");
        }
    } catch (final InterruptedException e) {
        logger.log(Level.SEVERE, e.getLocalizedMessage(), e);
        stopServer();
    }

    return result;
}