[TACHYON-62] Netty

Netty implementation of the data server.

This patch is not done yet.  Its intent is to show the work I have right now for commenting.

This PR should not be merged until performance results come in.
Can you explain when this would happen?  If the constructor fails, you
don't get the object.  Only case I can think of is if user calls Unsafe
directly, in that case they are on their own.
On Aug 20, 2014 12:18 AM, "Reynold Xin" <notifications@github.com> wrote:

> In core/src/main/java/tachyon/worker/netty/NettyDataServer.java:
>
> > +  private final ChannelFuture CHANNEL_FUTURE;
> > +
> > +  public NettyDataServer(final SocketAddress address, final BlocksLocker locker)
> > +      throws InterruptedException {
> > +    BOOTSTRAP =
> > +        createBootstrap()
> > +            .childHandler(new PipelineHandler(locker, SYNC_GROUP))
> > +            .option(ChannelOption.SO_BACKLOG, 1024)
> > +            .childOption(ChannelOption.SO_KEEPALIVE, true);
> > +
> > +    this.CHANNEL_FUTURE = BOOTSTRAP.bind(address).sync();
> > +  }
> > +
> > +  @Override
> > +  public void close() throws IOException {
> > +    CHANNEL_FUTURE.channel().close().awaitUninterruptibly();
>
> should do null checks for all following in case an exception is thrown
> during init
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/amplab/tachyon/pull/333/files#r16461687>.
>