예제 #1
0
        public override void Stop()
        {
            if (_disposed)
            {
                throw new ObjectDisposedException(this.GetType().FullName);
            }
            if (!_isLoaded)
            {
                throw new AmoebaManagerException("AmoebaManager is not loaded.");
            }

            lock (this.ThisLock)
            {
                if (this.State == ManagerState.Stop)
                {
                    return;
                }
                _state = ManagerState.Stop;

                _backgroundUploadManager.Stop();
                _backgroundDownloadManager.Stop();
                _uploadManager.Stop();
                _downloadManager.Stop();
                _connectionsManager.Stop();
            }
        }