package fm.liu.timo.mysql.handler.xa;
import java.util.Collection;
import java.util.List;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicInteger;
import fm.liu.timo.net.connection.BackendConnection;
import fm.liu.timo.server.session.XATransactionSession;
import fm.liu.timo.server.session.handler.SessionResultHandler;
/**
* @author liuhuanting
*/
public abstract class XAHandler extends SessionResultHandler {
protected XATransactionSession session;
protected final ConcurrentHashMap<Integer, Boolean> results =
new ConcurrentHashMap<>();
protected final ConcurrentHashMap<Integer, BackendConnection> cons =
new ConcurrentHashMap<>();
public XAHandler(XATransactionSession session, Collection<BackendConnection> cons) {
super.session = session;
this.session = session;
if (cons != null) {
super.count = new AtomicInteger(cons.size());
for (BackendConnection con : cons) {
int id = con.getDatanodeID();
results.put(id, false);
this.cons.put(id, con);
}
}
}
@Override
public void field(byte[] header, List<byte[]> fields, byte[] eof, BackendConnection con) {}
@Override
public void row(byte[] row, BackendConnection con) {}
@Override
public void eof(byte[] eof, BackendConnection con) {}
}