package com.meidusa.amoeba.aladdin.net;
import java.io.IOException;
import com.meidusa.amoeba.aladdin.handler.AladdinMessageDispatcher;
import com.meidusa.amoeba.mysql.net.MysqlClientConnectionManager;
import com.meidusa.amoeba.mysql.net.packet.OkPacket;
import com.meidusa.amoeba.net.AuthResponseData;
import com.meidusa.amoeba.net.Connection;
/**
* �ͻ������ӵ�Aladdin Proxy Server�����ӹ�����
* Aladdin Proxy�е�һЩ������Ϣ������ip,port name��
* @author Li Hui
*
*/
public class AladdinClientConnectionManager extends MysqlClientConnectionManager {
private static byte[] authenticateOkPacketData;
/**
* ���캯��
* û��ʵ��
* @throws IOException
*/
public AladdinClientConnectionManager() throws IOException{
}
/**
* ���캯��
* ֱ�ӵ��ø���Ĺ��캯��
* @param name ��Aladdin proxy Server��
* @param port Aladdin proxy��ip port
* @throws IOException
*/
public AladdinClientConnectionManager(String name, int port) throws IOException{
super(name, port);
}
/**
* ���캯��
* ֱ�ӵ��ø���Ĺ��캯��
* @param name ��Aladdin proxy Server��
* @param ipAddress Aladdin proxy��ip��ַ
* @param port Aladdin proxy��ip port
* @throws IOException
*/
public AladdinClientConnectionManager(String name, String ipAddress, int port) throws IOException{
super(name, ipAddress, port);
}
public void connectionAuthenticateSuccess(Connection conn, AuthResponseData data) {
//�� project.log��д��־����������
//2012-03-04 20:56:28,625 INFO net.AladdinClientConnection - Connection Authenticate success [ conn=com.meidusa.amoeba.aladdin.net.AladdinClientConnection@175.186.52.154:3268,hashcode=13729475].
if (logger.isInfoEnabled()) {
logger.info("Connection Authenticate success [ conn=" + conn + "].");
}
if (authenticateOkPacketData == null) {
OkPacket ok = new OkPacket();
ok.packetId = 2;
ok.affectedRows = 0;
ok.insertId = 0;
ok.serverStatus = 2;
ok.warningCount = 0;
authenticateOkPacketData = ok.toByteBuffer(conn).array();
}
conn.setMessageHandler(new AladdinMessageDispatcher());
conn.postMessage(authenticateOkPacketData);
}
}