private TransportManagerContainer(TransportManagerContainer source)
 {
     this.listener          = source.listener;
     this.transportManagers = new List <TransportManager>();
     for (int i = 0; i < source.transportManagers.Count; i++)
     {
         this.transportManagers.Add(source.transportManagers[i]);
     }
 }
        public static TransportManagerContainer TransferTransportManagers(TransportManagerContainer source)
        {
            TransportManagerContainer transportManagerContainer = null;

            lock (source.listener.TransportManagerTable)
            {
                if (source.transportManagers.Count > 0)
                {
                    transportManagerContainer = new TransportManagerContainer(source);
                    source.transportManagers.Clear();
                }
            }
            return(transportManagerContainer);
        }
 protected abstract void OnScheduled(TransportManagerContainer parent);
 protected OpenOrCloseAsyncResult(TransportManagerContainer parent, AsyncCallback callback, object state) : base(callback, state)
 {
     this.parent = parent;
 }
 protected override void OnScheduled(TransportManagerContainer parent)
 {
     parent.Open(this.timeout, this.selectTransportManagerCallback);
 }
 public OpenAsyncResult(TimeSpan timeout, SelectTransportManagersCallback selectTransportManagerCallback, TransportManagerContainer parent, AsyncCallback callback, object state) : base(parent, callback, state)
 {
     this.timeout = timeout;
     this.selectTransportManagerCallback = selectTransportManagerCallback;
     base.Begin();
 }
 protected override void OnScheduled(TransportManagerContainer parent)
 {
     parent.Close(this.timeout);
 }
 public CloseAsyncResult(TimeSpan timeout, TransportManagerContainer parent, AsyncCallback callback, object state) : base(parent, callback, state)
 {
     this.timeout = timeout;
     base.Begin();
 }