Class ServerMonitorManager.ServerStateSnapshot

java.lang.Object
com.ultikits.ultitools.manager.ServerMonitorManager.ServerStateSnapshot
Enclosing class:
ServerMonitorManager

private static final class ServerMonitorManager.ServerStateSnapshot extends Object
一次主线程采样的结果。字段全部 final,构造完成后不再改动,通过 volatile 字段发布, 因此读线程看到的要么是上一份完整快照、要么是这一份完整快照,不会看到半份。

其中三个 JsonArray 在发布之后绝不可再被修改——它们会被直接塞进待发送的 消息里,序列化只读不写,所以共享实例是安全的;一旦有人在发布后 add 一笔,这个前提就没了。

  • Field Details

    • EMPTY

    • playerCount

      final int playerCount
    • maxPlayers

      final int maxPlayers
    • onlineMode

      final boolean onlineMode
    • serverVersion

      final String serverVersion
    • worldCount

      final int worldCount
    • pluginCount

      final int pluginCount
    • worlds

      final com.google.gson.JsonArray worlds
    • onlinePlayers

      final com.google.gson.JsonArray onlinePlayers
    • plugins

      final com.google.gson.JsonArray plugins
  • Constructor Details

    • ServerStateSnapshot

      ServerStateSnapshot(int playerCount, int maxPlayers, boolean onlineMode, String serverVersion, int worldCount, int pluginCount, com.google.gson.JsonArray worlds, com.google.gson.JsonArray onlinePlayers, com.google.gson.JsonArray plugins)