public static Group NewGroup(string name, IGetter getter, IPeerPicker peers) { Argument.NotNull(name, "name"); Argument.NotNull(getter, "getter"); Argument.NotNull(peers, "peers"); var groupKey = new GroupKey { GroupName = name, Endpoint = peers.Self }; var group = new Group(name, getter, peers); return(GROUPS.GetOrAdd(groupKey, group)); }
/// <summary> /// returns the named group previously created with NewGroup, /// Used by server callback to forward received request to the correct Group instance. /// </summary> public static bool GetGroup(GroupKey key, out Group group) { return(GROUPS.TryGetValue(key, out group)); }