using System;
using System.Threading;

namespace Replikanto.Communicator
{
	public static class NetworkFactory
	{
		internal static NetworkBroker Create()
		{
			Delegate625.smethod_0(NetworkFactory.semaphoreSlim_0, Delegate625.delegate625_0);
			NetworkBroker networkBroker;
			try
			{
				if (NetworkFactory.networkBroker_0 == null)
				{
					NetworkFactory.networkBroker_0 = new NetworkBroker();
				}
				networkBroker = NetworkFactory.networkBroker_0;
			}
			finally
			{
				Delegate626.smethod_0(NetworkFactory.semaphoreSlim_0, Delegate626.delegate626_0);
			}
			return networkBroker;
		}

		internal static void smethod_0()
		{
		}

		internal static void smethod_1()
		{
		}

		private static SemaphoreSlim semaphoreSlim_0 = new SemaphoreSlim(1, 1);

		private static NetworkBroker networkBroker_0;
	}
}
