建立数据容器

来源:互联网 发布:windows调整分区工具 编辑:程序博客网 时间:2024/05/22 00:38

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);
 }
}

原创粉丝点击