public OpeningPackStatsWindowViewModel(TrackerFactory trackerFactory) : base(trackerFactory) { cardImageService = trackerFactory.GetService <ICardImageService>(); winDialogs = trackerFactory.GetService <IWinDialogs>(); cardsDatabase = trackerFactory.GetService <ICardsDatabase>(); CommandExportToCsv = new RealyAsyncCommand <object>(CommandExportToCsvExecute); CommandOpenCsv = new RealyAsyncCommand <object>(CommandOpenCsvExcute); packSetFilter = AllFilter; }
public void Setup() { keys.Clear(); tracker = (UdpTracker)TrackerFactory.Create(new Uri("udp://127.0.0.1:6767/announce/")); tracker.RetryDelay = TimeSpan.FromMilliseconds(50); listener.IgnoreAnnounces = false; listener.IgnoreConnects = false; listener.IgnoreErrors = false; listener.IgnoreScrapes = false; }
public void Setup() { keys.Clear(); tracker = (UdpTracker)TrackerFactory.Create(new Uri("udp://127.0.0.1:6767/announce/")); tracker.RetryDelay = TimeSpan.FromMilliseconds(50); id = new TrackerConnectionID(tracker, false, TorrentEvent.Started, new ManualResetEvent(false)); listener.IgnoreAnnounces = false; listener.IgnoreConnects = false; listener.IgnoreErrors = false; listener.IgnoreScrapes = false; }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { ITrackerFactory trackerFactory = new TrackerFactory(); try { return(new ScreenshotNameProvider(trackerFactory).GetScreenShotName(ScreenshotNameProvider.ScreenShotType.Pack, value.ToString())); } catch (Exception ex) { return("ERROR:" + ex.Message); } }
public Core(ISettings settings, IPlatform platform) { if (settings == null) { throw new ArgumentNullException(nameof(settings)); } if (platform == null) { throw new ArgumentNullException(nameof(platform)); } Settings = settings; Platform = platform; KeyManager keyManager = new KeyManager(settings); rsaProvider = new RSACryptoServiceProvider(); rsaProvider.ImportParameters(keyManager.EncryptionParameters); nodeID = Common.Utils.SHA512Str(rsaProvider.ToXmlString(false)); FileSystem = new FileSystemProvider(this); ShareBuilder = new ShareBuilder(this); ShareBuilder.FinishedIndexing += ShareBuilder_FinishedIndexing; shareWatcher = new ShareWatcher(this); ShareHasher = new ShareHasher(); transportManager = new TransportManager(this); FileTransferManager = new FileTransferManager(this); FileSearchManager = new FileSearchManager(this); DestinationManager = new DestinationManager(this); // XXX: Use reflection to load these: DestinationManager.RegisterSource(new TCPIPv4DestinationSource(this)); DestinationManager.RegisterSource(new TCPIPv6DestinationSource(this)); TrackerFactory.Register("meshwork", typeof(MeshworkTracker)); ITransportListener tcpListener = new TcpTransportListener(this, Settings.TcpListenPort); transportListeners.Add(tcpListener); if (FinishedLoading != null) { FinishedLoading(null, EventArgs.Empty); } }
private void Save_Profile_Click(object sender, RoutedEventArgs e) { Stream fStream; SaveFileDialog sfd = new SaveFileDialog(); sfd.AddExtension = true; sfd.DefaultExt = ".fish"; sfd.DereferenceLinks = true; sfd.OverwritePrompt = true; sfd.Title = "What do you want the profile to be called?"; sfd.Filter = "Eriver Calibration Profile files (*.fish)|*.fish"; sfd.FilterIndex = 1; sfd.RestoreDirectory = true; if (sfd.ShowDialog() == true) { new Thread(delegate() { if ((fStream = sfd.OpenFile()) != null) { try { var tracker = TrackerFactory.GetTracker(TrackerType.Text, 1); Thread.Sleep(2000); var c = tracker.GetCalibration(); fStream.Write(c, 0, c.Length); } catch (IOException exception) { MessageBox.Show("Could not save profile.\n" + exception.Message); return; } catch (NotSupportedException) { MessageBox.Show("This tracker does not support this operation."); return; } catch (Exception exception) { MessageBox.Show("A unknown error occured.\n" + exception.Message + "\n" + exception.StackTrace); return; } finally { fStream.Close(); } MessageBox.Show("Save of calibration profile completed!"); } }).Start(); } }
/// <summary> /// Handler of connection to the ETServer /// Reads data from the stream, and answers accordingly. /// Deals with the tracker aswell using the ITracker interface. /// </summary> /// <param name="name"></param> /// <param name="tracker_type"></param> /// <param name="clientId"></param> /// <param name="stream"></param> /// <param name="description"></param> public ConnectionHandler(byte name, string tracker_type, string clientId, NetworkStream stream, string description) { this.name = name; logger = LogManager.GetLogger(this.GetType()); log4net.ThreadContext.Properties["id"] = "Id: " + clientId; this.stream = stream; readerWriter = new EriverStreamReaderWriter(stream); this.stop = new ManualResetEvent(false); tracker = TrackerFactory.GetTracker(tracker_type, name); Description = description; }
public void TestMethod1() { var config = new TrackerConfig(); config.AppVersion = "1"; config.TrackingId = "2"; config.Debug = true; var x = new TrackerFactory(config); var y = x.GetTracker(); y.SendView("Main"); }
public void KeyTest() { MonoTorrent.Client.Tracker.AnnounceParameters pars = new AnnounceParameters(); pars.PeerId = "id"; pars.InfoHash = new InfoHash(new byte[20]); Tracker.Tracker t = TrackerFactory.Create(new Uri(prefix + "?key=value")); TrackerConnectionID id = new TrackerConnectionID(t, false, TorrentEvent.Started, new ManualResetEvent(false)); t.AnnounceComplete += delegate { id.WaitHandle.Set(); }; t.Announce(pars, id); Wait(id.WaitHandle); Assert.AreEqual("value", keys[0], "#1"); }
public ConnectionHandler(byte name, string clientId, Stream stream, ManualResetEvent shutdown) { // TODO: Complete member initialization this.name = name; logger = LogManager.GetLogger(this.GetType()); log4net.ThreadContext.Properties["id"] = "Id: " + clientId; this.stream = stream; readerWriter = new EriverStreamReaderWriter(stream); this.shutdown = shutdown; this.stop = new ManualResetEvent(false); tracker = TrackerFactory.GetTracker(name); }
internal EncodingIdMapper(NumberArrayFactory cacheFactory, Encoder encoder, Factory <Radix> radixFactory, Monitor monitor, TrackerFactory trackerFactory, Groups groups, System.Func <long, CollisionValues> collisionValuesFactory, int chunkSize, int processorsForParallelWork, Comparator comparator) { this._radixFactory = radixFactory; this._monitor = monitor; this._cacheFactory = cacheFactory; this._trackerFactory = trackerFactory; this._collisionValuesFactory = collisionValuesFactory; this._comparator = comparator; this._processorsForParallelWork = max(processorsForParallelWork, 1); this._dataCache = cacheFactory.NewDynamicLongArray(chunkSize, GAP_VALUE); this._groupCache = GroupCache.select(cacheFactory, chunkSize, groups.Size()); this._groups = groups; this._encoder = encoder; this._radix = radixFactory.NewInstance(); }
public async Task Announce () { await TrackerManager.AddTrackerAsync (TrackerFactory.Create (new Uri ("http://1.1.1.1"))); var mode = new StartingMode (Manager, DiskManager, ConnectionManager, Settings); Manager.Mode = mode; await mode.WaitForStartingToComplete (); // Technically this is not what we want. However the logic to avoid announcing to quickly // is now inside TrackerManager so a mocked TrackerManager will double announce. Assert.AreEqual (2, TrackerManager.Announces.Count, "#1"); Assert.AreEqual (null, TrackerManager.Announces[0].Item1, "#2"); Assert.AreEqual (null, TrackerManager.Announces[1].Item1, "#2"); Assert.AreEqual (TorrentEvent.Started, TrackerManager.Announces[0].Item2, "#3"); Assert.AreEqual (TorrentEvent.None, TrackerManager.Announces[1].Item2, "#3"); }
public void Setup() { AutoResetEvent done = new AutoResetEvent(false); tracker = TrackerFactory.GetTracker(1); while (!done.WaitOne(0)) { tracker.GetState(delegate(int err, int res) { if (err == 0) { done.Set(); } }); } }
public static ITracker RunTracker() { if (tracker != null) { return(tracker); } var config = Catalog.Factory.Resolve <IConfig>(); tracker = TrackerFactory.CreateTracker( config[BitTorrentSettings.TrackerHost], Convert.ToInt32(config[BitTorrentSettings.TrackerPort]), config[BitTorrentSettings.TrackerTorrentFolder]); tracker.Start(); return(tracker); }
internal MainWindowViewModel(TrackerFactory trackerFactory) { this.trackerFactory = trackerFactory; tracker = trackerFactory.GetTracker(); messanger = trackerFactory.GetMessanger(); messanger.Register <Utils.Messages.EditDeck>(this, EditDeckStart, Utils.Messages.EditDeck.Context.StartEdit); messanger.Register <Utils.Messages.EditDeck>(this, EditDeckFinished, Utils.Messages.EditDeck.Context.EditFinished); messanger.Register <Utils.Messages.EditGame>(this, EditGameStart, Utils.Messages.EditGame.Context.StartEdit); messanger.Register <Utils.Messages.EditGame>(this, EditGameFinished, Utils.Messages.EditGame.Context.EditFinished); messanger.Register <Utils.Messages.EditSettings>(this, EditSettingsFinished, Utils.Messages.EditSettings.Context.EditFinished); deckService = trackerFactory.GetService <IDeckService>(); settings = trackerFactory.GetService <ISettings>(); this.OverlayWindows.Add(new OverlayToolbar()); this.OverlayWindows.Add(new DeckOverlay()); this.OverlayWindows.CollectionChanged += (s, e) => RaisePropertyChangedEvent(nameof(OverlayWindows)); }
public void CanAnnouceOrScrapeTest() { Tracker.Tracker t = TrackerFactory.Create(new Uri("http://mytracker.com/myurl")); Assert.IsFalse(t.CanScrape, "#1"); Assert.IsTrue(t.CanAnnounce, "#1b"); t = TrackerFactory.Create(new Uri("http://mytracker.com/announce/yeah")); Assert.IsFalse(t.CanScrape, "#2"); Assert.IsTrue(t.CanAnnounce, "#2b"); t = TrackerFactory.Create(new Uri("http://mytracker.com/announce")); Assert.IsTrue(t.CanScrape, "#3"); Assert.IsTrue(t.CanAnnounce, "#4"); HTTPTracker tracker = (HTTPTracker)TrackerFactory.Create(new Uri("http://mytracker.com/announce/yeah/announce")); Assert.IsTrue(tracker.CanScrape, "#4"); Assert.IsTrue(tracker.CanAnnounce, "#4"); Assert.AreEqual("http://mytracker.com/announce/yeah/scrape", tracker.ScrapeUri.ToString(), "#5"); }
/// <summary> /// Get tracked entities /// </summary> /// <typeparam name="T"></typeparam> /// <returns></returns> public static IEnumerable <Type> GetTrackedEntities <T>(this T context) where T : DbContext { var result = new List <Type>(); var dbSets = context.GetType().GetProperties(); foreach (var dbSet in dbSets) { var genericType = dbSet.PropertyType.GenericTypeArguments.FirstOrDefault(); if (genericType == null) { continue; } var match = TrackerFactory.IsTrackable(genericType).Item1; if (match) { result.Add(genericType); } } return(result); }
public static async Task <bool> IsTrackerHealthyAsync(string trackerUri) { var tracker = TrackerFactory.Create(new Uri(trackerUri)); try { switch (tracker) { case HTTPTracker httpTracker: await httpTracker.AnnounceAsync(new AnnounceParameters(0, 0, 0, TorrentEvent.None, new MonoTorrent.InfoHash(StringToByteArray("4b3dbca85d0f67742bdf4bcece6641799f29efbe")), false, "", "", 0)); break; } return(true); } catch { return(false); } }
public void AnnounceTest() { HTTPTracker t = (HTTPTracker)TrackerFactory.Create(new Uri(prefix)); TrackerConnectionID id = new TrackerConnectionID(t, false, TorrentEvent.Started, new ManualResetEvent(false)); AnnounceResponseEventArgs p = null; t.AnnounceComplete += delegate(object o, AnnounceResponseEventArgs e) { p = e; id.WaitHandle.Set(); }; MonoTorrent.Client.Tracker.AnnounceParameters pars = new AnnounceParameters(); pars.PeerId = "id"; pars.InfoHash = new InfoHash(new byte[20]); t.Announce(pars, id); Wait(id.WaitHandle); Assert.IsNotNull(p, "#1"); Assert.IsTrue(p.Successful); Assert.AreEqual(keys[0].ToLowerInvariant(), t.Key.ToLowerInvariant(), "#2"); }
private void Load_Profile_Click(object sender, RoutedEventArgs e) { Stream fStream; OpenFileDialog ofd = new OpenFileDialog(); ofd.AddExtension = true; ofd.DefaultExt = ".fish"; ofd.DereferenceLinks = true; ofd.Title = "What profile do you want?"; ofd.Filter = "Eriver Calibration Profile files (*.fish)|*.fish"; ofd.FilterIndex = 1; ofd.RestoreDirectory = true; if (ofd.ShowDialog() == true) { if ((fStream = ofd.OpenFile()) != null) { try { var data = new byte[4096]; fStream.Read(data, 0, data.Length); fStream.Close(); TrackerFactory.GetTracker(TrackerType.Text, 1).SetCalibration(data); } catch (IOException exception) { MessageBox.Show("Could not load profile.\n" + exception.Message); } catch (NotSupportedException) { MessageBox.Show("This tracker does not support this operation."); } catch (Exception exception) { MessageBox.Show("A unknown error occured.\n" + exception.Message); } } } }
public void Setup() { keys = new List <BEncodedString>(); server = new MonoTorrent.Tracker.TrackerServer(); server.AllowUnregisteredTorrents = true; server.RegisterListener(listener); peerEndpoints = new List <IPEndPoint> { new IPEndPoint(IPAddress.Parse("123.123.123.123"), 12312), new IPEndPoint(IPAddress.Parse("254.254.254.254"), 3522), new IPEndPoint(IPAddress.Parse("1.1.1.1"), 123), new IPEndPoint(IPAddress.Parse("1.2.3.4"), 65000), }; tracker = (UdpTracker)TrackerFactory.Create(new Uri($"udp://127.0.0.1:{listener.EndPoint.Port}/announce/")); announceparams = announceparams.WithPort(listener.EndPoint.Port); listener.IgnoreAnnounces = false; listener.IgnoreConnects = false; listener.IgnoreErrors = false; listener.IgnoreScrapes = false; }
void OfflineAnnounceTest() { UdpTracker t = (UdpTracker)TrackerFactory.Create(new Uri("udp://127.0.0.1:57532/announce")); t.RetryDelay = TimeSpan.FromMilliseconds(500); TrackerConnectionID id = new TrackerConnectionID(t, false, TorrentEvent.Started, new ManualResetEvent(false)); AnnounceResponseEventArgs p = null; t.AnnounceComplete += delegate(object o, AnnounceResponseEventArgs e) { p = e; id.WaitHandle.Set(); }; System.Net.BitTorrent.Client.Tracker.AnnounceParameters pars = new AnnounceParameters(); pars.InfoHash = new InfoHash(new byte[20]); pars.PeerId = ""; t.Announce(pars, id); Wait(id.WaitHandle); Assert.IsNotNull(p, "#1"); Assert.IsFalse(p.Successful); }
public void AnnounceTest() { UdpTracker t = (UdpTracker)TrackerFactory.Create(new Uri(prefix)); TrackerConnectionID id = new TrackerConnectionID(t, false, TorrentEvent.Started, new ManualResetEvent(false)); AnnounceResponseEventArgs p = null; t.AnnounceComplete += delegate(object o, AnnounceResponseEventArgs e) { p = e; id.WaitHandle.Set(); }; System.Net.BitTorrent.Client.Tracker.AnnounceParameters pars = new AnnounceParameters(); pars.InfoHash = new InfoHash(new byte[20]); pars.PeerId = ""; t.Announce(pars, id); Wait(id.WaitHandle); Assert.NotNull(p); Assert.True(p.Successful); //Assert.Equal(keys[0], t.Key, "#2"); }
protected override void Initialize(SonarAnalysisContext context) { context.RegisterCompilationStartAction( ccc => { ccc.RegisterSyntaxNodeActionInNonGenerated( c => { var objectCreation = (ObjectCreationExpressionSyntax)c.Node; var trackers = TrackerFactory.Create(c.Compilation, VersionProvider); if (trackers.xmlDocumentTracker.ShouldBeReported(objectCreation, c.SemanticModel) || trackers.xmlTextReaderTracker.ShouldBeReported(objectCreation, c.SemanticModel)) { c.ReportDiagnosticWhenActive(Diagnostic.Create(rule, objectCreation.GetLocation())); } VerifyXPathDocumentConstructor(c); }, SyntaxKind.ObjectCreationExpression); ccc.RegisterSyntaxNodeActionInNonGenerated( c => { var assignment = (AssignmentExpressionSyntax)c.Node; var trackers = TrackerFactory.Create(c.Compilation, VersionProvider); if (trackers.xmlDocumentTracker.ShouldBeReported(assignment, c.SemanticModel) || trackers.xmlTextReaderTracker.ShouldBeReported(assignment, c.SemanticModel)) { c.ReportDiagnosticWhenActive(Diagnostic.Create(rule, assignment.GetLocation())); } }, SyntaxKind.SimpleAssignmentExpression); ccc.RegisterSyntaxNodeActionInNonGenerated(VerifyXmlReaderInvocations, SyntaxKind.InvocationExpression); }); }
public void AnnounceTest() { var t = (HTTPTracker)TrackerFactory.Create(new Uri(Prefix)); var id = new TrackerConnectionID(t, false, TorrentEvent.Started, new ManualResetEvent(false)); AnnounceResponseEventArgs p = null; t.AnnounceComplete += (o, e) => { p = e; id.WaitHandle.Set(); }; var pars = new AnnounceParameters { PeerId = "id", InfoHash = new InfoHash(new byte[20]) }; t.Announce(pars, id); Wait(id.WaitHandle); Assert.IsNotNull(p, "#1"); Assert.IsTrue(p.Successful); Assert.AreEqual(_keys[0], t.Key, "#2"); }
public void ScrapeTest() { Tracker.Tracker t = TrackerFactory.Create(new Uri(prefix.Substring(0, prefix.Length - 1))); Assert.IsTrue(t.CanScrape, "#1"); TrackerConnectionID id = new TrackerConnectionID(t, false, TorrentEvent.Started, new ManualResetEvent(false)); AnnounceResponseEventArgs p = null; t.AnnounceComplete += delegate(object o, AnnounceResponseEventArgs e) { p = e; id.WaitHandle.Set(); }; MonoTorrent.Client.Tracker.AnnounceParameters pars = new AnnounceParameters(); pars.PeerId = "id"; pars.InfoHash = new InfoHash(new byte[20]); t.Announce(pars, id); Wait(id.WaitHandle); Assert.IsNotNull(p, "#2"); Assert.IsTrue(p.Successful, "#3"); Assert.AreEqual(1, t.Complete, "#1"); Assert.AreEqual(0, t.Incomplete, "#2"); Assert.AreEqual(0, t.Downloaded, "#3"); }
public void ScrapeTest() { UdpTracker t = (UdpTracker)TrackerFactory.Create(new Uri(prefix)); Assert.IsTrue(t.CanScrape, "#1"); TrackerConnectionID id = new TrackerConnectionID(t, false, TorrentEvent.Started, new ManualResetEvent(false)); ScrapeResponseEventArgs p = null; t.ScrapeComplete += delegate(object o, ScrapeResponseEventArgs e) { p = e; id.WaitHandle.Set(); }; System.Net.BitTorrent.Client.Tracker.ScrapeParameters pars = new ScrapeParameters(new InfoHash(new byte[20])); t.Scrape(pars, id); Wait(id.WaitHandle); Assert.IsNotNull(p, "#2"); Assert.IsTrue(p.Successful, "#3"); Assert.AreEqual(0, t.Complete, "#1"); Assert.AreEqual(0, t.Incomplete, "#2"); Assert.AreEqual(0, t.Downloaded, "#3"); }
public void AnnounceTest() { var udpTracker = (UdpTracker)TrackerFactory.Create(new Uri(Prefix)); var id = new TrackerConnectionID(udpTracker, false, TorrentEvent.Started, new ManualResetEvent(false)); AnnounceResponseEventArgs p = null; udpTracker.AnnounceComplete += delegate(object o, AnnounceResponseEventArgs e) { p = e; id.WaitHandle.Set(); }; var pars = new AnnounceParameters { InfoHash = new InfoHash(new byte[20]), PeerId = "" }; udpTracker.Announce(pars, id); Wait(id.WaitHandle); Assert.IsNotNull(p, "#1"); Assert.IsTrue(p.Successful); //Assert.AreEqual(keys[0], t.Key, "#2"); }
public AddSingleRewardViewModel(TrackerFactory trackerFactory) { this.trackerFactory = trackerFactory; }
static TestRig() { TrackerFactory.Register("custom", typeof(CustomTracker)); }