public void JoinService(IChannel channel, string name, int id, JArray address, int port)
{
var services = GetServices(name);
if(services == null)
{
_servicesLock.EnterWriteLock();
if (!_services.ContainsKey(name))
{
services = new Services(name);
_services.Add(name, services);
}
else
{
services = _services[name];
}
_servicesLock.ExitWriteLock();
}
_addremoveQueue.Enqueue(new AddRemoveItem() { IsAdd = true, Channel = channel, Address = address, Port=port, Id = id, Services = services });
}