Castle.Facilities.WcfIntegration.InMemoryServiceCatalog.RegisterEndpoint C# (CSharp) Method

RegisterEndpoint() public method

public RegisterEndpoint ( EndpointDiscoveryMetadata endpoint ) : bool
endpoint System.ServiceModel.Discovery.EndpointDiscoveryMetadata
return bool
        public virtual bool RegisterEndpoint(EndpointDiscoveryMetadata endpoint)
        {
			var registered = false;
            if (AcceptEndpoint(endpoint))
            {
				using (var locker = @lock.ForReadingUpgradeable())
				{
					policies.ForEach(policy => registered = registered | policy.RegisterTarget(endpoint));

					locker.Upgrade();

					if (registered == false)
					{
						var newPolicies = policyFactory.CreatePolicies(endpoint);
						Array.ForEach(newPolicies, newPolicy =>
						{
							registered = registered | newPolicy.RegisterTarget(endpoint);
							policies.Add(newPolicy);
						});
					}

					if (registered)
						endpoints[endpoint.Address] = endpoint;
				}
            }
			return registered;
        }