Example #1
0
 public OpenAsyncResult(SelectTransportManagersCallback selectTransportManagerCallback, TransportManagerContainer parent,
                        AsyncCallback callback, object state)
     : base(parent, callback, state)
 {
     this.selectTransportManagerCallback = selectTransportManagerCallback;
     this.Begin();
 }
 public void Open(SelectTransportManagersCallback selectTransportManagerCallback)
 {
     lock (this.tableLock)
     {
         if (!this.closed)
         {
             IList <TransportManager> list = selectTransportManagerCallback();
             if (list != null)
             {
                 for (int i = 0; i < list.Count; i++)
                 {
                     TransportManager item = list[i];
                     item.Open(this.listener);
                     this.transportManagers.Add(item);
                 }
             }
         }
     }
 }
        public void Open(TimeSpan timeout, SelectTransportManagersCallback selectTransportManagerCallback)
        {
            TimeoutHelper timeoutHelper = new TimeoutHelper(timeout);

            lock (this.listener.TransportManagerTable)
            {
                if (!this.closed)
                {
                    IList <TransportManager> transportManagers = selectTransportManagerCallback();
                    if (transportManagers != null)
                    {
                        for (int i = 0; i < transportManagers.Count; i++)
                        {
                            TransportManager item = transportManagers[i];
                            item.Open(timeoutHelper.RemainingTime(), this.listener);
                            this.transportManagers.Add(item);
                        }
                    }
                }
            }
        }
Example #4
0
        public void Open(SelectTransportManagersCallback selectTransportManagerCallback)
        {
            lock (this.tableLock)
            {
                if (closed) // if we've been aborted then don't get transport managers
                {
                    return;
                }

                IList <TransportManager> foundTransportManagers = selectTransportManagerCallback();
                if (foundTransportManagers == null) // nothing to do
                {
                    return;
                }

                for (int i = 0; i < foundTransportManagers.Count; i++)
                {
                    TransportManager transportManager = foundTransportManagers[i];
                    transportManager.Open(this.listener);
                    this.transportManagers.Add(transportManager);
                }
            }
        }
Example #5
0
        public async Task OpenAsync(SelectTransportManagersCallback selectTransportManagerCallback)
        {
            using (await tableLock.TakeLockAsync())
            {
                if (closed) // if we've been aborted then don't get transport managers
                {
                    return;
                }

                IList <TransportManager> foundTransportManagers = selectTransportManagerCallback();
                if (foundTransportManagers == null) // nothing to do
                {
                    return;
                }

                for (int i = 0; i < foundTransportManagers.Count; i++)
                {
                    TransportManager transportManager = foundTransportManagers[i];
                    await transportManager.OpenAsync(listener);

                    transportManagers.Add(transportManager);
                }
            }
        }
 public IAsyncResult BeginOpen(SelectTransportManagersCallback selectTransportManagerCallback, AsyncCallback callback, object state)
 {
     return new OpenAsyncResult(selectTransportManagerCallback, this, callback, state);
 }
 public OpenAsyncResult(SelectTransportManagersCallback selectTransportManagerCallback, TransportManagerContainer parent, AsyncCallback callback, object state) : base(parent, callback, state)
 {
     this.selectTransportManagerCallback = selectTransportManagerCallback;
     base.Begin();
 }
 public void Open(SelectTransportManagersCallback selectTransportManagerCallback)
 {
     lock (this.tableLock)
     {
         if (!this.closed)
         {
             IList<TransportManager> list = selectTransportManagerCallback();
             if (list != null)
             {
                 for (int i = 0; i < list.Count; i++)
                 {
                     TransportManager item = list[i];
                     item.Open(this.listener);
                     this.transportManagers.Add(item);
                 }
             }
         }
     }
 }
 public IAsyncResult BeginOpen(TimeSpan timeout, SelectTransportManagersCallback selectTransportManagerCallback, AsyncCallback callback, object state)
 {
     return(new TransportManagerContainer.OpenAsyncResult(timeout, selectTransportManagerCallback, this, callback, state));
 }
 public OpenAsyncResult(TimeSpan timeout, SelectTransportManagersCallback selectTransportManagerCallback, TransportManagerContainer parent, AsyncCallback callback, object state) : base(parent, callback, state)
 {
     this.timeout = timeout;
     this.selectTransportManagerCallback = selectTransportManagerCallback;
     base.Begin();
 }
Example #11
0
 public IAsyncResult BeginOpen(SelectTransportManagersCallback selectTransportManagerCallback,
                               AsyncCallback callback, object state)
 {
     return(new OpenAsyncResult(selectTransportManagerCallback, this, callback, state));
 }