Package com.thimbleware.jmemcached.protocol.text

Source Code of com.thimbleware.jmemcached.protocol.text.MemcachedPipelineFactory

package com.thimbleware.jmemcached.protocol.text;

import java.nio.charset.Charset;

import org.jboss.netty.channel.ChannelPipeline;
import org.jboss.netty.channel.ChannelPipelineFactory;
import org.jboss.netty.channel.Channels;
import org.jboss.netty.channel.group.DefaultChannelGroup;

import com.thimbleware.jmemcached.Cache;
import com.thimbleware.jmemcached.protocol.MemcachedCommandHandler;
import com.thimbleware.jmemcached.protocol.SessionStatus;

/**
*/
public final class MemcachedPipelineFactory implements ChannelPipelineFactory {
  public static final Charset USASCII = Charset.forName("US-ASCII");

  private Cache cache;
  private String version;
  private boolean verbose;
  private int idleTime;

  private int frameSize;
  private DefaultChannelGroup channelGroup;
  private final MemcachedResponseEncoder memcachedResponseEncoder = new MemcachedResponseEncoder();

  private final MemcachedCommandHandler memcachedCommandHandler;

  public MemcachedPipelineFactory(Cache cache, String version,
      boolean verbose, int idleTime, int frameSize,
      DefaultChannelGroup channelGroup) {
    this.cache = cache;
    this.version = version;
    this.verbose = verbose;
    this.idleTime = idleTime;
    this.frameSize = frameSize;
    this.channelGroup = channelGroup;
    memcachedCommandHandler = new MemcachedCommandHandler(this.cache,
        this.version, this.verbose, this.idleTime, this.channelGroup);
  }

  public final ChannelPipeline getPipeline() throws Exception {
    SessionStatus status = new SessionStatus().ready();

    return Channels.pipeline(new MemcachedFrameDecoder(status, frameSize),
        new MemcachedCommandDecoder(status), memcachedCommandHandler,
        memcachedResponseEncoder);
  }

}
TOP

Related Classes of com.thimbleware.jmemcached.protocol.text.MemcachedPipelineFactory

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.