public MainlineManager(BtClient client, IPEndPoint dhtEndPoint, IEnumerable<IPEndPoint> knownNodeEndPoints) { __searchLock = new object(); _client = client; HashTable = new HashTable(new Node(dhtEndPoint), knownNodeEndPoints, client.EndPoint.Port, null, true); _peers = new BlockingCollection<Peer>(); _peersHave = new SortedSet<string>(); _myCancellationTokenSource = new CancellationTokenSource(); }
public ConnectionHub(BtClient client, IPEndPoint endPoint, IResourcePool <Peer> peerPool, PeerStateCache stateCache) { _client = client; _peerPool = peerPool; _stateCache = stateCache; _myPool = new BlockingCollection <PeerHandler>(); _listenerTask = new Task(StartListener); _listener = new TcpListener(endPoint); _connectedIps = new SortedSet <string>(); _isListenerStopped = false; _myCancelTokenSource = new CancellationTokenSource(); }
public MainActivity() { try { _btClient = new BtClient(); _btClient.Connect(macAddressOfPi); } catch (Exception ex) { Toast.MakeText(this, "Bluetooth Connection error", ToastLength.Long).Show(); } //RequestWindowFeature(WindowFeatures.NoTitle); //Remove notification bar //Window.SetFlags(WindowManagerFlags.Fullscreen, WindowManagerFlags.Fullscreen); }
public AnnounceManager(BtClient client, List <string> announcerUrls) { if (announcerUrls == null) { throw new ArgumentNullException("announces"); } _announcers = new List <Announcer>(1); foreach (var announcerUrl in announcerUrls) { _announcers.Add(new Announcer(client, announcerUrl)); } _peersHave = new SortedSet <IPAddress>(); _myPool = new BlockingCollection <Peers.Peer>(); }
/// <summary> /// Creates PeerHandler instance /// </summary> /// <param name="peer">Peer info</param> /// <param name="connection">TCP connection. Must be connected</param> /// <param name="client">Associated client</param> public PeerHandler(Peer peer, TcpClient connection, BtClient client) { _pendingOutboundRequests = new ConcurrentQueue <RequestInfo>(); _input = new NetworkStream(connection.Client); _listenerTask = new Task(ListenIncoming); _isListenerStopped = false; _counterRqsSemaphore = new SemaphoreSlim(MaxRequestsCount); Client = client; PeerIp = peer.IpAddress.ToString(); Connection = connection; Connection.ReceiveTimeout = TcpReceiveTimeoutInMsec; Connection.SendTimeout = TcpSendTimeoutInMsec; Peer = peer; PiecesHave = new BitField(Client.Metainfo.PiecesCount); }