/**
   * 去查询所有的server的状态
   *
   * @param m2mWebPacket
   * @param channel
   * @throws IOException
   */
  public void lookAllServerStatus(M2mWebPacket m2mWebPacket, ChannelHandlerContext ctx)
      throws IOException {
    M2mServerStatusDOs m2mServerStatuses = new M2mServerStatusDOs();
    final ConcurrentHashMap<Long, String> survivalServers = networkPool.getPositionToServer();
    List<M2mServerStatusDO> m2mServerStatusDOs = new ArrayList<>();
    List<String> serverStrings =
        survivalServers
            .entrySet()
            .stream()
            .map(
                entry -> {
                  M2mServerStatusDO m2mServerStatusDO = new M2mServerStatusDO();
                  m2mServerStatusDO.setId(entry.getKey());
                  m2mServerStatusDO.setIp(entry.getValue());
                  m2mServerStatusDO.setStatus(M2mServerStatus.STARTED.getStatus());
                  m2mServerStatusDOs.add(m2mServerStatusDO);
                  return entry.getValue();
                })
            .collect(Collectors.toList());

    serverCnxnFactory
        .getAllServer()
        .entrySet()
        .stream()
        .filter(entry -> (!serverStrings.contains(entry.getKey())))
        .map(
            entry -> {
              M2mServerStatusDO m2mServerStatusDO = new M2mServerStatusDO();
              m2mServerStatusDO.setId(entry.getValue());
              m2mServerStatusDO.setIp(entry.getKey());
              m2mServerStatusDO.setStatus(M2mServerStatus.STOPED.getStatus());
              m2mServerStatusDOs.add(m2mServerStatusDO);
              return entry.getKey();
            })
        .count();

    m2mServerStatuses.setM2mServerStatusDOs(m2mServerStatusDOs);
    M2mWebServerStatusResponse m2mWebServerStatusResponse = new M2mWebServerStatusResponse();
    M2mWebPacket m2mPacket =
        M2mWebPacketHandle.createM2mWebPacket(
            m2mWebPacket.getM2mRequestHeader(),
            m2mWebPacket.getM2mReplyHeader(),
            m2mWebPacket.getRequest(),
            m2mWebServerStatusResponse,
            m2mServerStatuses,
            "m2mWebServerStatuses");
    ctx.writeAndFlush(m2mPacket);
  }