void manager_PeerDisconnected(object sender, PeerConnectionEventArgs e) { if (e.PeerID.ClientApp.Client.ToString() == "WebSeed") { this.activeWebSeeds -= 1; } }
private void SendP2P(object Sender, PeerConnectionEventArgs e) { SendP2pRec Rec = (SendP2pRec)e.State; try { if (e.Client == null) { this.SendRequest(this.httpxClient, Rec.fullJID, Rec.method, XmppClient.GetBareJID(Rec.fullJID), Rec.localUrl, Rec.request, Rec.response); } else { HttpxClient HttpxClient; if (e.Client.SupportsFeature(HttpxClient.Namespace) && e.Client.TryGetTag("HttpxClient", out object Obj) && (HttpxClient = Obj as HttpxClient) != null) { this.SendRequest(HttpxClient, Rec.fullJID, Rec.method, XmppClient.GetBareJID(Rec.fullJID), Rec.localUrl, Rec.request, Rec.response); } else { this.SendRequest(this.httpxClient, Rec.fullJID, Rec.method, XmppClient.GetBareJID(Rec.fullJID), Rec.localUrl, Rec.request, Rec.response); } } } catch (Exception ex) { Rec.response.SendResponse(ex); } }
private void manager_PeerConnected(object sender, PeerConnectionEventArgs args) { try { LoggingService.LogDebug("PEER CONNECTED: {0} {1}", args.PeerID.Uri, args.PeerID.GetHashCode()); // XXX: This check can probably be removed. if (args.TorrentManager != manager) { throw new Exception("PeerConnected for wrong manager. This should NEVER happen."); } // Now, match the peer to the internal BittorrentFileTransferPeer. lock (peers) { foreach (BitTorrentFileTransferPeer peer in peers) { var nodeID = args.PeerID.Uri.AbsolutePath; if (nodeID == peer.Node.NodeID) { var transport = ((TorrentConnection)args.PeerID.Connection).Transport; transport.Operation = new FileTransferOperation(transport, this, peer); peer.AddPeerId(args.PeerID); return; } } } // If we got here, then we were not expecting this peer. throw new Exception("Unexpected peer!!!! - " + args.PeerID.Uri); } catch (Exception ex) { LoggingService.LogError("Error in manager_PeerConnected.", ex); args.PeerID.CloseConnection(); } }
void manager_PeerConnected(object sender, PeerConnectionEventArgs e) { if (e.PeerID.ClientApp.Client.ToString() == "WebSeed") { this.activeWebSeeds += 1; } Console.WriteLine("Peer added"); debug("Peer added. "); }
static void cm_PeerDisconnected(object sender, PeerConnectionEventArgs e) { if (e.PeerID == null) { return; } lock (queue){ queue.Add(String.Format("{0} peer at {1}. Reason: {2}", e.ConnectionDirection == Direction.Incoming ? "Got disconnected from" : "Disconnected from", e.PeerID.Uri, e.Message)); } }
static void cm_PeerConnected(object sender, PeerConnectionEventArgs e) { if (e.PeerID == null) { return; } lock (queue){ queue.Add(String.Format("{0} peer at {1}", e.ConnectionDirection == Direction.Incoming ? "Accepted connection from" : "Connected to", e.PeerID.Uri)); } }
private void manager_PeerDisconnected(object sender, PeerConnectionEventArgs args) { try { LoggingService.LogDebug("Peer Disconnected: {0}", args.PeerID.Uri); // Find the matching peer var found = false; var nodeID = args.PeerID.Uri.AbsolutePath; lock (peers) { foreach (BitTorrentFileTransferPeer peer in peers) { if (nodeID == peer.Node.NodeID) { peers.Remove(peer); found = true; break; } } } if (!found) { // This should never hapen. LoggingService.LogWarning("PeerDisconnected: Unknown peer!"); } if (peers.Count == 0) { if (manager.Progress != 100) { // Transfer didn't finish, cancel! LoggingService.LogWarning("No more peers - canceling torrent!"); Cancel(); } else { // Transfer was complete (or an upload), just stop normally. manager.Stop(); } } } catch (Exception ex) { LoggingService.LogError("Error in manager_PeerDisconnected:", ex); Cancel(); } }
private void manager_PeerDisconnected(object sender, PeerConnectionEventArgs args) { try { Core.LoggingService.LogDebug("Peer Disconnected: {0}", args.PeerID.Uri); BitTorrentFileTransferPeer peer; lock (this.peers) { peer = this.peers.OfType <BitTorrentFileTransferPeer>().SingleOrDefault(p => p.Node.NodeID == args.PeerID.Uri.AbsolutePath); if (peer != null) { this.peers.Remove(peer); RaisePeerRemoved(peer); } else { Core.LoggingService.LogWarning("PeerDisconnected: Unknown peer!"); } } if (!this.peers.Any()) { if (!this.manager.Progress.Equals(100)) { // Transfer didn't finish, cancel! Core.LoggingService.LogWarning("No more peers - canceling torrent!"); Cancel(); } else { // Transfer was complete (or an upload), just stop normally. this.manager.Stop(); } } } catch (Exception ex) { Core.LoggingService.LogError("Error in manager_PeerDisconnected:", ex); Cancel(); RaiseError(ex); } }
private void manager_PeerConnected(object sender, PeerConnectionEventArgs args) { try { Core.LoggingService.LogDebug("PEER CONNECTED: {0} {1}", args.PeerID.Uri, args.PeerID.GetHashCode()); // XXX: This check can probably be removed. if (args.TorrentManager != this.manager) { throw new Exception("PeerConnected for wrong manager. This should NEVER happen."); } // Now, match the peer to the internal BittorrentFileTransferPeer. BitTorrentFileTransferPeer peer; lock (this.peers) { peer = this.peers.OfType <BitTorrentFileTransferPeer>().SingleOrDefault(p => p.Node.NodeID == args.PeerID.Uri.AbsolutePath); } if (peer == null) { throw new Exception("Unexpected peer!!!! - " + args.PeerID.Uri.ToString()); } var transport = ((TorrentConnection)args.PeerID.Connection).Transport; transport.Operation = new FileTransferOperation(transport, this, peer); peer.AddPeerId(args.PeerID); RaisePeerAdded(peer); } catch (Exception ex) { Core.LoggingService.LogError("Error in manager_PeerConnected.", ex); args.PeerID.CloseConnection(); RaiseError(ex); } }
internal void RaisePeerDisconnected(PeerConnectionEventArgs args) { Mode.HandlePeerDisconnected(args.PeerID); Toolbox.RaiseAsyncEvent(PeerDisconnected, this, args); }
internal void RaisePeerConnected(PeerConnectionEventArgs args) { Toolbox.RaiseAsyncEvent(PeerConnected, this, args); }