
com.taobao.tair.comm.TairProtocolDecoder Maven / Gradle / Ivy
/**
* (C) 2007-2010 Taobao Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
*/
package com.taobao.tair.comm;
import java.io.IOException;
import java.net.InetSocketAddress;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.mina.common.ByteBuffer;
import org.apache.mina.common.IoSession;
import org.apache.mina.filter.codec.CumulativeProtocolDecoder;
import org.apache.mina.filter.codec.ProtocolDecoderOutput;
import com.taobao.tair.etc.TairConstant;
import com.taobao.tair.etc.TairUtil;
import com.taobao.tair.packet.BasePacket;
import com.taobao.tair.packet.PacketStreamer;
public class TairProtocolDecoder extends CumulativeProtocolDecoder {
private static final Log LOGGER = LogFactory.getLog(TairProtocolDecoder.class);
private static final boolean isDebugEnabled=LOGGER.isDebugEnabled();
private static final int PROTOCOL_HEADER_LENGTH = 16;
private PacketStreamer pstreamer;
public TairProtocolDecoder(PacketStreamer pstreamer) {
this.pstreamer = pstreamer;
}
@Override
protected boolean doDecode(IoSession session, ByteBuffer in, ProtocolDecoderOutput out)
throws Exception {
final int origonPos = in.position();
final int packetLength = in.remaining();
if(packetLength
© 2015 - 2025 Weber Informatics LLC | Privacy Policy