public static ReDataMap reDataMap = new ReDataMap();
public class ReDataMap {
private Map<String, Map<String, SendData>> sMap = new HashMap<String, Map<String, SendData>>();
public synchronized void putReData(String clientid,
Map<String, SendData> list) {
sMap.put(clientid, list);
}
public synchronized Map<String, SendData> getAllReData(String clientid,
int socketid) {
Map<String, SendData> dmap = sMap.get(clientid);
if (dmap != null) {
synchronized (dmap) {
Collection<SendData> sendDatas = dmap.values();
for (SendData sendData : sendDatas) {
sendData.setSocketid(socketid);
sendData.setBuffer(sendData.getBuffer());
sendData.setClientid(clientid);
sendData.setMessageId(sendData.getMessageId());
sendData.setSendCount(sendData.getSendCount());
dmap.put(clientid + ":" + sendData.getMessageId(),sendData);
}
}
return dmap;
} else {
return null;
}
}
public synchronized void removeAllReData(String clientid) {
sMap.remove(clientid);
}
}