Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
 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);
 }
Ejemplo n.º 4
0
        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>();
        }
Ejemplo n.º 5
0
        /// <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);
        }