Example #1
0
        /// <summary>
        ///
        /// </summary>
        /// <see cref="AppServerModuleBase.OnStart(AppServerModuleBase.StartStopContext, ref bool)" />
        protected override void OnStart(AppServerModuleBase.StartStopContext context, ref bool isRunning)
        {
            this.DisposeCurrentHandler();

            var newServer = ServiceLocator.Current.GetInstance <IHttpServer>();

            // HTTPs?
            {
                bool?useHttps;
                this.Context
                .Config
                .TryGetValue <bool?>(category: "service",
                                     name: "use_https",
                                     value: out useHttps,
                                     defaultVal: false);

                newServer.UseSecureHttp = useHttps ?? false;
            }

            // port
            {
                int?port;
                this.Context
                .Config
                .TryGetValue <int?>(category: "service",
                                    name: "port",
                                    value: out port,
                                    defaultVal: 23979);

                newServer.Port = port ?? 23979;
            }


            if (newServer.UseSecureHttp)
            {
                // SSL thumbprint
                {
                    newServer.SetSslCertificateByThumbprint(this.Context
                                                            .Config
                                                            .GetValue <IEnumerable <char> >(category: "service",
                                                                                            name: "ssl_thumbprint"));
                }
            }

            var newHandler = new RequestHandler(this, newServer);

            try
            {
                newHandler.Start();
                this._currentHandler = newHandler;
            }
            catch
            {
                newHandler.Dispose();

                throw;
            }
        }
Example #2
0
 /// <summary>
 ///
 /// </summary>
 /// <see cref="AppServerModuleBase.OnStart(AppServerModuleBase.StartStopContext, ref bool)" />
 protected override void OnStop(AppServerModuleBase.StartStopContext context, ref bool isRunning)
 {
     this.DisposeCurrentHandler();
 }
Example #3
0
 /// <summary>
 ///
 /// </summary>
 /// <see cref="AppServerModuleBase.OnStart(AppServerModuleBase.StartStopContext, ref bool)" />
 protected override void OnStop(AppServerModuleBase.StartStopContext context, ref bool isRunning)
 {
     this.DisposeOldTrackerClient();
 }
Example #4
0
        /// <summary>
        ///
        /// </summary>
        /// <see cref="AppServerModuleBase.OnStart(AppServerModuleBase.StartStopContext, ref bool)" />
        protected override void OnStart(AppServerModuleBase.StartStopContext context, ref bool isRunning)
        {
            // client
            //TODO

            /*
             * {
             *  var port = 11111;
             *
             *  // Create the settings which the engine will use
             *  // downloadsPath - this is the path where we will save all the files to
             *  // port - this is the port we listen for connections on
             *  var settings = new EngineSettings();
             *  settings.PreferEncryption = false;
             *  settings.AllowedEncryption = EncryptionTypes.All;
             *
             *  // Create the default settings which a torrent will have.
             *  // 4 Upload slots - a good ratio is one slot per 5kB of upload speed
             *  // 50 open connections - should never really need to be changed
             *  // Unlimited download speed - valid range from 0 -> int.Max
             *  // Unlimited upload speed - valid range from 0 -> int.Max
             *  var torrentDefaults = new TorrentSettings(4, 150, 0, 0);
             *
             *  var newClient = new ClientEngine(settings);
             *  newClient.ChangeListenEndpoint(new IPEndPoint(IPAddress.Any, port));
             *
             *  var torrent = TorrentFile.Load(@"E:\Dev\debian-7.2.0-i386-netinst.iso.torrent");
             *
             *  var manager = new TorrentManager(torrent,
             *                                   @"E:\Dev\debian-7.2.0-i386-netinst.iso",
             *                                   torrentDefaults);
             *
             *  long test = 0;
             *  manager.PieceManager.BlockReceived += (sender, e) =>
             *      {
             ++test;
             *          if (e != null)
             *          {
             *              GlobalConsole.Current
             *                           .WriteLine(torrent.Files[0].BitField.PercentComplete);
             *          }
             *      };
             *
             *  // Every time a piece is hashed, this is fired.
             *  manager.PeersFound += (sender, e) =>
             *      {
             *          if (e != null)
             *          {
             *
             *          }
             *      };
             *
             *  // Every time the state changes (Stopped -> Seeding -> Downloading -> Hashing) this is fired
             *  manager.TorrentStateChanged += (sender, e) =>
             *      {
             *          if (e != null)
             *          {
             *
             *          }
             *      };
             *
             *  newClient.Register(manager);
             *
             *  newClient.StartAll();
             *  this.TorrentClient = newClient;
             * }*/
        }
Example #5
0
 /// <summary>
 ///
 /// </summary>
 /// <see cref="AppServerModuleBase.OnStart(AppServerModuleBase.StartStopContext, ref bool)" />
 protected override void OnStop(AppServerModuleBase.StartStopContext context, ref bool isRunning)
 {
 }