public void BucketList_Put() { BucketList bucketList = new BucketList(KadId.GenerateRandom(), 20); byte[] kadId = new byte[20]; for (int i = 0; i < 20; i++) { kadId[19] = (byte)(i + 1); var contact = new kademlia_dht.Base.KadContactNode(new KadId(kadId), new System.Net.IPEndPoint(IPAddress.Loopback, 20000)); bucketList.Put(contact); Thread.Sleep(1000); } kadId[19] = 20; Assert.IsTrue(bucketList.Put(new KadContactNode(new KadId(kadId), new IPEndPoint(IPAddress.Loopback, 20000))) == BucketList.BucketPutResult.BucketIsFull); }
public bool PingAndPutNewContact(IPEndPoint contactEp) { if (contactEp == null) { throw new ArgumentNullException("contactEp"); } var pingMsg = Ping(contactEp); if (pingMsg == null) { return(false); } Id contactId = new Id((byte[])pingMsg.Payload["id"]); return(BucketList.Put(new ContactNode(contactId, contactEp)) == BucketList.BucketPutResult.Success); }