aboutsummaryrefslogtreecommitdiff
path: root/core/src/main/java/spark/network/netty/FileServer.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/main/java/spark/network/netty/FileServer.java')
-rw-r--r--core/src/main/java/spark/network/netty/FileServer.java73
1 files changed, 33 insertions, 40 deletions
diff --git a/core/src/main/java/spark/network/netty/FileServer.java b/core/src/main/java/spark/network/netty/FileServer.java
index 38af305096..647b26bf8a 100644
--- a/core/src/main/java/spark/network/netty/FileServer.java
+++ b/core/src/main/java/spark/network/netty/FileServer.java
@@ -1,58 +1,51 @@
package spark.network.netty;
-import java.io.File;
import io.netty.bootstrap.ServerBootstrap;
-import io.netty.channel.ChannelFuture;
import io.netty.channel.ChannelOption;
import io.netty.channel.Channel;
-import io.netty.channel.nio.NioEventLoopGroup;
-import io.netty.channel.socket.nio.NioServerSocketChannel;
import io.netty.channel.oio.OioEventLoopGroup;
import io.netty.channel.socket.oio.OioServerSocketChannel;
-import io.netty.handler.logging.LogLevel;
-import io.netty.handler.logging.LoggingHandler;
+
/**
* Server that accept the path of a file an echo back its content.
*/
-public class FileServer {
+class FileServer {
+
+ private ServerBootstrap bootstrap = null;
+ private Channel channel = null;
+ private PathResolver pResolver;
- private ServerBootstrap bootstrap = null;
- private Channel channel = null;
- private PathResolver pResolver;
+ public FileServer(PathResolver pResolver) {
+ this.pResolver = pResolver;
+ }
- public FileServer(PathResolver pResolver){
- this.pResolver = pResolver;
+ public void run(int port) {
+ // Configure the server.
+ bootstrap = new ServerBootstrap();
+ try {
+ bootstrap.group(new OioEventLoopGroup(), new OioEventLoopGroup())
+ .channel(OioServerSocketChannel.class)
+ .option(ChannelOption.SO_BACKLOG, 100)
+ .option(ChannelOption.SO_RCVBUF, 1500)
+ .childHandler(new FileServerChannelInitializer(pResolver));
+ // Start the server.
+ channel = bootstrap.bind(port).sync().channel();
+ channel.closeFuture().sync();
+ } catch (InterruptedException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } finally{
+ bootstrap.shutdown();
}
+ }
- public void run(int port) {
- // Configure the server.
- bootstrap = new ServerBootstrap();
- try {
- bootstrap.group(new OioEventLoopGroup(), new OioEventLoopGroup())
- .channel(OioServerSocketChannel.class)
- .option(ChannelOption.SO_BACKLOG, 100)
- .option(ChannelOption.SO_RCVBUF, 1500)
- .childHandler(new FileServerChannelInitializer(pResolver));
- // Start the server.
- channel = bootstrap.bind(port).sync().channel();
- channel.closeFuture().sync();
- } catch (InterruptedException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } finally{
- bootstrap.shutdown();
- }
+ public void stop() {
+ if (channel!=null) {
+ channel.close();
}
-
- public void stop(){
- if (channel!=null){
- channel.close();
- }
- if (bootstrap != null){
- bootstrap.shutdown();
- }
+ if (bootstrap != null) {
+ bootstrap.shutdown();
}
+ }
}
-
-