public PipeConnectionListener(Uri pipeUri, HostNameComparisonMode hostNameComparisonMode, int bufferSize, List <SecurityIdentifier> allowedSids, bool useCompletionPort, int maxConnections) { PipeUri.Validate(pipeUri); this.pipeUri = pipeUri; this.hostNameComparisonMode = hostNameComparisonMode; this.allowedSids = allowedSids; this.bufferSize = bufferSize; this.pendingAccepts = new List <PendingAccept>(); this.useCompletionPort = useCompletionPort; this.maxInstances = Math.Min(maxConnections, 0xff); }
private void PrepareConnect(Uri remoteUri, TimeSpan timeout, out string resolvedAddress, out BackoffTimeoutHelper backoffHelper) { TimeSpan span; PipeUri.Validate(remoteUri); if (DiagnosticUtility.ShouldTraceInformation) { TraceUtility.TraceEvent(TraceEventType.Information, 0x4002a, System.ServiceModel.SR.GetString("TraceCodeInitiatingNamedPipeConnection"), new StringTraceRecord("Uri", remoteUri.ToString()), this, null); } resolvedAddress = GetPipeName(remoteUri); if (timeout >= TimeSpan.FromMilliseconds(300.0)) { span = TimeoutHelper.Add(timeout, TimeSpan.Zero - TimeSpan.FromMilliseconds(150.0)); } else { span = Ticks.ToTimeSpan((Ticks.FromMilliseconds(150) / 2L) + 1L); } backoffHelper = new BackoffTimeoutHelper(span, TimeSpan.FromMinutes(5.0)); }