[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.
Epoll is a Linux only thing and is the default on Linux.  Nio is to fall
back on Mac.

The docs for the default type is there, so can you you explain what's
missing?
On Sep 7, 2014 5:32 PM, "Haoyuan Li" <notifications@github.com> wrote:

> In core/src/main/java/tachyon/worker/netty/ChannelType.java:
>
> > + * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License
> > + * for the specific language governing permissions and limitations under the License.
> > + */
> > +package tachyon.worker.netty;
> > +
> > +import io.netty.channel.epoll.Epoll;
> > +
> > +/**
> > + * What type of netty channel to use.
> > + */
> > +public enum ChannelType {
> > +  NIO,
> > +  /**
> > +   * Use Linux's epoll for channel api. Only works on linux
> > +   */
> > +  EPOLL;
>
> Which of two has a better performance? If certain, should document here.
> e.g. NIO or EPOLL is recommended.
>
> It will be also good to document the difference between two options.
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/amplab/tachyon/pull/333/files#r17218711>.
>