public static NetworkChannel CreateChannel(string name, SessionGenerateHandler sessionGenerator)
{
lock (Channels)
{
if (Channels.Exists(name))
throw new AegisException(AegisResult.AlreadyExistName, "'{0}' is already exists channel name.", name);
NetworkChannel channel = new NetworkChannel(name);
if (sessionGenerator == null)
channel.SessionGenerator = delegate { return GenerateSession("Aegis.Network.Session"); };
else
channel.SessionGenerator = sessionGenerator;
Channels.Add(name, channel);
return channel;
}
}