internal static SessionState From(Session session) { var pools = session.GetPools(); var result = new Dictionary <Host, HostStateInfo>(pools.Length); foreach (var kv in pools) { var host = session.Cluster.GetHost(kv.Key); if (host == null) { continue; } result[host] = new HostStateInfo(kv.Value); } return(new SessionState(result)); }