Ejemplo n.º 1
0
        public MessageManager(int id)
        {
            _id = id;

            _priority = new SafeInteger();

            _receivedByteCount = new SafeInteger();
            _sentByteCount     = new SafeInteger();

            _stockBlocks                    = new VolatileHashSet <Key>(new TimeSpan(1, 0, 0, 0));
            _stockProfileMetadatas          = new VolatileHashSet <byte[]>(new TimeSpan(1, 0, 0), new ByteArrayEqualityComparer());
            _stockSignatureMessageMetadatas = new VolatileHashSet <byte[]>(new TimeSpan(1, 0, 0), new ByteArrayEqualityComparer());
            _stockWikiDocumentMetadatas     = new VolatileHashSet <byte[]>(new TimeSpan(1, 0, 0), new ByteArrayEqualityComparer());
            _stockChatTopicMetadatas        = new VolatileHashSet <byte[]>(new TimeSpan(1, 0, 0), new ByteArrayEqualityComparer());
            _stockChatMessageMetadatas      = new VolatileHashSet <byte[]>(new TimeSpan(1, 0, 0), new ByteArrayEqualityComparer());

            _pushBlocksLink = new VolatileHashSet <Key>(new TimeSpan(0, 30, 0));
            _pullBlocksLink = new VolatileHashSet <Key>(new TimeSpan(0, 30, 0));

            _pushBlocksRequest = new VolatileHashSet <Key>(new TimeSpan(0, 30, 0));
            _pullBlocksRequest = new VolatileHashSet <Key>(new TimeSpan(0, 30, 0));

            _pushBroadcastSignaturesRequest = new VolatileHashSet <string>(new TimeSpan(0, 30, 0));
            _pullBroadcastSignaturesRequest = new VolatileHashSet <string>(new TimeSpan(0, 30, 0));

            _pushUnicastSignaturesRequest = new VolatileHashSet <string>(new TimeSpan(0, 30, 0));
            _pullUnicastSignaturesRequest = new VolatileHashSet <string>(new TimeSpan(0, 30, 0));

            _pushMulticastWikisRequest = new VolatileHashSet <Wiki>(new TimeSpan(0, 30, 0));
            _pullMulticastWikisRequest = new VolatileHashSet <Wiki>(new TimeSpan(0, 30, 0));

            _pushMulticastChatsRequest = new VolatileHashSet <Chat>(new TimeSpan(0, 30, 0));
            _pullMulticastChatsRequest = new VolatileHashSet <Chat>(new TimeSpan(0, 30, 0));
        }
Ejemplo n.º 2
0
        public MessageManager(int id)
        {
            _id = id;

            _priority = new SafeInteger();

            _receivedByteCount = new SafeInteger();
            _sentByteCount = new SafeInteger();

            _stockBlocks = new VolatileHashSet<Key>(new TimeSpan(1, 0, 0, 0));
            _stockProfileMetadatas = new VolatileHashSet<byte[]>(new TimeSpan(1, 0, 0), new ByteArrayEqualityComparer());
            _stockSignatureMessageMetadatas = new VolatileHashSet<byte[]>(new TimeSpan(1, 0, 0), new ByteArrayEqualityComparer());
            _stockWikiDocumentMetadatas = new VolatileHashSet<byte[]>(new TimeSpan(1, 0, 0), new ByteArrayEqualityComparer());
            _stockChatMessageMetadatas = new VolatileHashSet<byte[]>(new TimeSpan(1, 0, 0), new ByteArrayEqualityComparer());

            _pushBlocksLink = new VolatileHashSet<Key>(new TimeSpan(0, 30, 0));
            _pullBlocksLink = new VolatileHashSet<Key>(new TimeSpan(0, 30, 0));

            _pushBlocksRequest = new VolatileHashSet<Key>(new TimeSpan(0, 30, 0));
            _pullBlocksRequest = new VolatileHashSet<Key>(new TimeSpan(0, 30, 0));

            _pushBroadcastSignaturesRequest = new VolatileHashSet<string>(new TimeSpan(0, 30, 0));
            _pullBroadcastSignaturesRequest = new VolatileHashSet<string>(new TimeSpan(0, 30, 0));

            _pushUnicastSignaturesRequest = new VolatileHashSet<string>(new TimeSpan(0, 30, 0));
            _pullUnicastSignaturesRequest = new VolatileHashSet<string>(new TimeSpan(0, 30, 0));

            _pushMulticastWikisRequest = new VolatileHashSet<Wiki>(new TimeSpan(0, 30, 0));
            _pullMulticastWikisRequest = new VolatileHashSet<Wiki>(new TimeSpan(0, 30, 0));

            _pushMulticastChatsRequest = new VolatileHashSet<Chat>(new TimeSpan(0, 30, 0));
            _pullMulticastChatsRequest = new VolatileHashSet<Chat>(new TimeSpan(0, 30, 0));
        }
Ejemplo n.º 3
0
        public CatharsisManager(AmoebaManager amoebaManager, BufferManager bufferManager)
        {
            _amoebaManager = amoebaManager;
            _bufferManager = bufferManager;

            _settings = new Settings(this.ThisLock);

#if DEBUG
            _watchTimer = new System.Threading.Timer(this.WatchTimer, null, new TimeSpan(0, 0, 0), new TimeSpan(1, 0, 0, 0));
#else
            _watchTimer = new System.Threading.Timer(this.WatchTimer, null, new TimeSpan(0, 3, 0), new TimeSpan(7, 0, 0, 0));
#endif

            _succeededUris = new VolatileHashSet <string>(new TimeSpan(1, 0, 0));
            _failedUris    = new VolatileHashSet <string>(new TimeSpan(1, 0, 0));

            _amoebaManager.CheckUriEvent = this.ResultCache_CheckUri;
        }
Ejemplo n.º 4
0
        public MessageManager(int id)
        {
            _id = id;

            _priority = new SafeInteger();

            _receivedByteCount = new SafeInteger();
            _sentByteCount     = new SafeInteger();

            _stockBlocks     = new VolatileHashSet <Key>(new TimeSpan(1, 0, 0, 0));
            _stockLinkSeeds  = new VolatileHashDictionary <string, DateTime>(new TimeSpan(1, 0, 0));
            _stockStoreSeeds = new VolatileHashDictionary <string, DateTime>(new TimeSpan(1, 0, 0));

            _pushBlocksLink = new VolatileHashSet <Key>(new TimeSpan(0, 30, 0));
            _pullBlocksLink = new VolatileHashSet <Key>(new TimeSpan(0, 30, 0));

            _pushBlocksRequest = new VolatileHashSet <Key>(new TimeSpan(0, 30, 0));
            _pullBlocksRequest = new VolatileHashSet <Key>(new TimeSpan(0, 30, 0));

            _pushSeedsRequest = new VolatileHashSet <string>(new TimeSpan(0, 30, 0));
            _pullSeedsRequest = new VolatileHashSet <string>(new TimeSpan(0, 30, 0));
        }
Ejemplo n.º 5
0
 public BatchAction(VolatileHashSet <T> volatileHashSet)
 {
     _volatileHashSet = volatileHashSet;
 }
Ejemplo n.º 6
0
        //#endif
        public ConnectionsManager(ClientManager clientManager, ServerManager serverManager, CacheManager cacheManager, BufferManager bufferManager)
        {
            _clientManager = clientManager;
            _serverManager = serverManager;
            _cacheManager = cacheManager;
            _bufferManager = bufferManager;

            _settings = new Settings();

            _routeTable = new Kademlia<Node>(256, 20);

            _connectionManagers = new LockedList<ConnectionManager>();

            _packetControlManager = new PacketControlManager();
            _packetControlManager.GetLockNodesEvent = (object sender) =>
            {
                lock (_thisLock)
                {
                    return _connectionManagers.Select(n => n.Node).ToArray();
                }
            };

            _creatingNodes = new LockedList<Node>();

            _waitingNodes = new VolatileHashSet<Node>(new TimeSpan(0, 0, 30));
            _removeNodes = new VolatileHashSet<Node>(new TimeSpan(0, 30, 0));

            _succeededUris = new VolatileHashSet<string>(new TimeSpan(1, 0, 0));

            _downloadBlocks = new VolatileHashSet<Key>(new TimeSpan(0, 30, 0));

            _pushBroadcastMetadatasRequestList = new VolatileHashSet<string>(new TimeSpan(0, 3, 0));
            _pushUnicastMetadatasRequestList = new VolatileHashSet<string>(new TimeSpan(0, 3, 0));
            _pushMulticastMetadatasRequestList = new VolatileHashSet<Tag>(new TimeSpan(0, 3, 0));

            _relayBlocks = new VolatileHashSet<Key>(new TimeSpan(0, 30, 0));

            _refreshTimer = new WatchTimer(this.RefreshTimer, new TimeSpan(0, 0, 5));
            _mediateTimer = new WatchTimer(this.MediateTimer, new TimeSpan(0, 1, 0));
            _reduceTimer = new WatchTimer(this.ReduceTimer, new TimeSpan(0, 3, 0));
        }
        public PacketManager(int id)
        {
            _id = id;

            _priority = new SafeInteger();

            _receivedByteCount = new SafeInteger();
            _sentByteCount = new SafeInteger();

            _countManager = new CountManager(new TimeSpan(0, 30, 0));

            _pushBlocksRequest = new VolatileHashSet<Key>(new TimeSpan(0, 30, 0));

            _pullBlocksLink = new VolatileHashSet<Key>(new TimeSpan(0, 30, 0));
            _pullBlocksRequest = new VolatileHashSet<Key>(new TimeSpan(0, 30, 0));

            _stockBroadcastMetadatas = new VolatileHashSet<byte[]>(new TimeSpan(1, 0, 0), new ByteArrayEqualityComparer());
            _stockUnicastMetadatas = new VolatileHashSet<byte[]>(new TimeSpan(1, 0, 0), new ByteArrayEqualityComparer());
            _stockMulticastMetadatas = new VolatileHashSet<byte[]>(new TimeSpan(1, 0, 0), new ByteArrayEqualityComparer());

            _pullBroadcastMetadatasRequest = new VolatileHashSet<string>(new TimeSpan(0, 30, 0));
            _pullUnicastMetadatasRequest = new VolatileHashSet<string>(new TimeSpan(0, 30, 0));
            _pullMulticastMetadatasRequest = new VolatileHashSet<Tag>(new TimeSpan(0, 30, 0));
        }
Ejemplo n.º 8
0
        //#endif
        public ConnectionsManager(ClientManager clientManager, ServerManager serverManager, CacheManager cacheManager, BufferManager bufferManager)
        {
            _clientManager = clientManager;
            _serverManager = serverManager;
            _cacheManager = cacheManager;
            _bufferManager = bufferManager;

            _settings = new Settings(this.ThisLock);

            _routeTable = new Kademlia<Node>(512, 20);

            _connectionManagers = new LockedList<ConnectionManager>();

            _messagesManager = new MessagesManager();
            _messagesManager.GetLockNodesEvent = (object sender) =>
            {
                lock (this.ThisLock)
                {
                    return _connectionManagers.Select(n => n.Node).ToArray();
                }
            };

            _creatingNodes = new LockedList<Node>();

            _waitingNodes = new VolatileHashSet<Node>(new TimeSpan(0, 0, 30));
            _cuttingNodes = new VolatileHashSet<Node>(new TimeSpan(0, 10, 0));
            _removeNodes = new VolatileHashSet<Node>(new TimeSpan(0, 30, 0));

            _succeededUris = new VolatileHashSet<string>(new TimeSpan(1, 0, 0));

            _downloadBlocks = new VolatileHashSet<Key>(new TimeSpan(0, 30, 0));
            _pushBroadcastSignaturesRequestList = new VolatileHashSet<string>(new TimeSpan(0, 3, 0));
            _pushUnicastSignaturesRequestList = new VolatileHashSet<string>(new TimeSpan(0, 3, 0));
            _pushMulticastWikisRequestList = new VolatileHashSet<Wiki>(new TimeSpan(0, 3, 0));
            _pushMulticastChatsRequestList = new VolatileHashSet<Chat>(new TimeSpan(0, 3, 0));

            _relayBlocks = new VolatileHashSet<Key>(new TimeSpan(0, 30, 0));

            _refreshTimer = new WatchTimer(this.RefreshTimer, new TimeSpan(0, 0, 5));
        }