private void RemovePendingAccept(PendingAccept pendingAccept)
 {
     lock (this.ThisLock)
     {
         this.pendingAccepts.Remove(pendingAccept);
     }
 }
        public IConnection EndAccept(IAsyncResult result)
        {
            PendingAccept accept = result as PendingAccept;

            if (accept == null)
            {
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument("result", System.ServiceModel.SR.GetString("InvalidAsyncResult"));
            }
            PipeHandle pipe = accept.End();

            if (pipe == null)
            {
                return(null);
            }
            return(new PipeConnection(pipe, this.bufferSize, accept.IsBoundToCompletionPort, accept.IsBoundToCompletionPort));
        }
 public IAsyncResult BeginAccept(AsyncCallback callback, object state)
 {
     lock (this.ThisLock)
     {
         if (this.isDisposed)
         {
             throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ObjectDisposedException("", System.ServiceModel.SR.GetString("PipeListenerDisposed")));
         }
         if (!this.isListening)
         {
             throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(System.ServiceModel.SR.GetString("PipeListenerNotListening")));
         }
         PipeHandle pipeHandle = this.CreatePipe();
         PendingAccept item = new PendingAccept(this, pipeHandle, this.useCompletionPort, callback, state);
         if (!item.CompletedSynchronously)
         {
             this.pendingAccepts.Add(item);
         }
         return item;
     }
 }
 public IAsyncResult BeginAccept(AsyncCallback callback, object state)
 {
     lock (this.ThisLock)
     {
         if (this.isDisposed)
         {
             throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ObjectDisposedException("", System.ServiceModel.SR.GetString("PipeListenerDisposed")));
         }
         if (!this.isListening)
         {
             throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(System.ServiceModel.SR.GetString("PipeListenerNotListening")));
         }
         PipeHandle    pipeHandle = this.CreatePipe();
         PendingAccept item       = new PendingAccept(this, pipeHandle, this.useCompletionPort, callback, state);
         if (!item.CompletedSynchronously)
         {
             this.pendingAccepts.Add(item);
         }
         return(item);
     }
 }
 private void RemovePendingAccept(PendingAccept pendingAccept)
 {
     lock (this.ThisLock)
     {
         this.pendingAccepts.Remove(pendingAccept);
     }
 }
Esempio n. 6
0
 void RemovePendingAccept(PendingAccept pendingAccept)
 {
     lock (ThisLock)
     {
         Fx.Assert(this.pendingAccepts.Contains(pendingAccept), "An unknown PendingAccept is removing itself.");
         this.pendingAccepts.Remove(pendingAccept);
     }
 }
Esempio n. 7
0
        public IAsyncResult BeginAccept(AsyncCallback callback, object state)
        {
            lock (ThisLock)
            {
                if (isDisposed)
                {
                    throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ObjectDisposedException("", SR.GetString(SR.PipeListenerDisposed)));
                }

                if (!isListening)
                {
                    throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.PipeListenerNotListening)));
                }

                PipeHandle pipeHandle = CreatePipe();
                PendingAccept pendingAccept = new PendingAccept(this, pipeHandle, useCompletionPort, callback, state);
                if (!pendingAccept.CompletedSynchronously)
                {
                    this.pendingAccepts.Add(pendingAccept);
                }
                return pendingAccept;
            }
        }