OctoTorrent.Client.ClientEngine.ClientEngine C# (CSharp) Method

ClientEngine() public method

public ClientEngine ( EngineSettings settings, PeerListener listener, PieceWriter writer, string peerId = null ) : Common.System
settings EngineSettings
listener PeerListener
writer PieceWriter
peerId string
return Common.System
        public ClientEngine(EngineSettings settings, PeerListener listener, PieceWriter writer, string peerId = null)
        {
            Check.Settings(settings);
            Check.Listener(listener);
            Check.Writer(writer);

            this.listener = listener;
            this.settings = settings;

            if (settings.FastResumePath != null && File.Exists(settings.FastResumePath))
            {
                var encodedListData = File.ReadAllBytes(settings.FastResumePath);
                var encodedList = (BEncodedList) BEncodedValue.Decode(encodedListData);

                _fastResume = encodedList.Cast<BEncodedDictionary>()
                    .Select(x => new FastResume(x));
            }

            connectionManager = new ConnectionManager(this);
            RegisterDht(new NullDhtEngine());
            diskManager = new DiskManager(this, writer);
            listenManager = new ListenManager(this);
            MainLoop.QueueTimeout(TimeSpan.FromMilliseconds(TickLength), () =>
                                                                             {
                                                                                 if (IsRunning && !disposed)
                                                                                     LogicTick();
                                                                                 return !disposed;
                                                                             });
            torrents = new List<TorrentManager>();
            torrentsReadonly = new ReadOnlyCollection<TorrentManager>(torrents);
            CreateRateLimiters();
            this.peerId = peerId ?? GeneratePeerId();

            localPeerListener = new LocalPeerListener(this);
            localPeerManager = new LocalPeerManager();
            LocalPeerSearchEnabled = SupportsLocalPeerDiscovery;
            listenManager.Register(listener);
            // This means we created the listener in the constructor
            if (listener.Endpoint.Port == 0)
                listener.ChangeEndpoint(new IPEndPoint(IPAddress.Any, settings.ListenPort));
        }

Same methods

ClientEngine::ClientEngine ( EngineSettings settings, PeerListener listener, string peerId = null ) : Common.System
ClientEngine::ClientEngine ( EngineSettings settings, PieceWriter writer, string peerId = null ) : Common.System
ClientEngine::ClientEngine ( EngineSettings settings, string peerId = null ) : Common.System