use of io.netty.handler.codec.base64.Base64Decoder in project jgnash by ccavanaugh.
the class AttachmentTransferServer method startServer.
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);
}
try {
ServerBootstrap b = new ServerBootstrap();
b.group(eventLoopGroup).channel(NioServerSocketChannel.class).option(ChannelOption.SO_KEEPALIVE, true).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;
}
Aggregations