public void Initialize() { SetupNodeIds(); var logManager = NullLogManager.Instance; //setting config to store 3 nodes in a bucket and for table to have one bucket//setting config to store 3 nodes in a bucket and for table to have one bucket _configurationProvider = new JsonConfigProvider(); ((NetworkConfig)_configurationProvider.GetConfig <NetworkConfig>()).PongTimeout = 50; ((NetworkConfig)_configurationProvider.GetConfig <NetworkConfig>()).BucketSize = 3; ((NetworkConfig)_configurationProvider.GetConfig <NetworkConfig>()).BucketsCount = 1; _nodeFactory = new NodeFactory(); var calculator = new NodeDistanceCalculator(_configurationProvider); _nodeTable = new NodeTable(_nodeFactory, new FileKeyStore(_configurationProvider, new JsonSerializer(logManager), new AesEncrypter(_configurationProvider, logManager), new CryptoRandom(), logManager), calculator, _configurationProvider, logManager); _nodeTable.Initialize(); var evictionManager = new EvictionManager(_nodeTable, logManager); var lifecycleFactory = new NodeLifecycleManagerFactory(_nodeFactory, _nodeTable, new DiscoveryMessageFactory(_configurationProvider), evictionManager, new NodeStatsProvider(_configurationProvider), _configurationProvider, logManager); _udpClient = Substitute.For <IMessageSender>(); _discoveryManager = new DiscoveryManager(lifecycleFactory, _nodeFactory, _nodeTable, new DiscoveryStorage(_configurationProvider, _nodeFactory, logManager, new PerfService(logManager)), _configurationProvider, logManager); _discoveryManager.MessageSender = _udpClient; }
public NodesLocator(INodeTable?nodeTable, IDiscoveryManager?discoveryManager, IDiscoveryConfig?discoveryConfig, ILogManager?logManager) { _logger = logManager?.GetClassLogger() ?? throw new ArgumentNullException(nameof(logManager)); _nodeTable = nodeTable ?? throw new ArgumentNullException(nameof(nodeTable)); _discoveryConfig = discoveryConfig ?? throw new ArgumentNullException(nameof(discoveryConfig)); _discoveryManager = discoveryManager ?? throw new ArgumentNullException(nameof(discoveryManager)); }
/// <summary> /// Converts an AttributeOperand to a displayable string. /// </summary> /// <param name="nodeTable">The node table.</param> /// <returns>AttributeOperand as a displayable string.</returns> public override string ToString(INodeTable nodeTable) { StringBuilder buffer = new StringBuilder(); INode node = nodeTable.Find(m_nodeId); if (node != null) { buffer.AppendFormat("{0}", NodeId); } else { buffer.AppendFormat("{0}", NodeId); } if (!RelativePath.IsEmpty(BrowsePath)) { buffer.AppendFormat("/{0}", BrowsePath.Format(nodeTable.TypeTree)); } if (!String.IsNullOrEmpty(IndexRange)) { buffer.AppendFormat("[{0}]", NumericRange.Parse(IndexRange)); } if (!String.IsNullOrEmpty(Alias)) { buffer.AppendFormat("- '{0}'", Alias); } return(buffer.ToString()); }
/// <summary> /// Converts an AttributeOperand to a displayable string. /// </summary> public override string ToString(INodeTable nodeTable) { StringBuilder buffer = new StringBuilder(); INode node = nodeTable.Find(TypeDefinitionId); if (node != null) { buffer.AppendFormat("{0}", TypeDefinitionId); } else { buffer.AppendFormat("{0}", TypeDefinitionId); } if (BrowsePath != null && BrowsePath.Count > 0) { buffer.AppendFormat("{0}", Format(BrowsePath)); } if (!String.IsNullOrEmpty(IndexRange)) { buffer.AppendFormat("[{0}]", NumericRange.Parse(IndexRange)); } return(buffer.ToString()); }
public void Initialize() { NetworkNodeDecoder.Init(); SetupNodeIds(); var logManager = NullLogManager.Instance; //setting config to store 3 nodes in a bucket and for table to have one bucket//setting config to store 3 nodes in a bucket and for table to have one bucket _configurationProvider = new ConfigProvider(); INetworkConfig networkConfig = _configurationProvider.GetConfig <INetworkConfig>(); networkConfig.PongTimeout = 50; networkConfig.BucketSize = 3; networkConfig.BucketsCount = 1; IKeyStoreConfig keyStoreConfig = _configurationProvider.GetConfig <IKeyStoreConfig>(); IStatsConfig statsConfig = _configurationProvider.GetConfig <IStatsConfig>(); var calculator = new NodeDistanceCalculator(networkConfig); _nodeTable = new NodeTable(new FileKeyStore(keyStoreConfig, new EthereumJsonSerializer(), new AesEncrypter(keyStoreConfig, logManager), new CryptoRandom(), logManager), calculator, networkConfig, logManager); _nodeTable.Initialize(TestItem.PublicKeyA); _timestamp = new Timestamp(); var evictionManager = new EvictionManager(_nodeTable, logManager); var lifecycleFactory = new NodeLifecycleManagerFactory(_nodeTable, new DiscoveryMessageFactory(networkConfig, _timestamp), evictionManager, new NodeStatsManager(statsConfig, logManager), networkConfig, logManager); _udpClient = Substitute.For <IMessageSender>(); _discoveryManager = new DiscoveryManager(lifecycleFactory, _nodeTable, new NetworkStorage("test", networkConfig, logManager, new PerfService(logManager)), networkConfig, logManager); _discoveryManager.MessageSender = _udpClient; }
public void Initialize() { NetworkNodeDecoder.Init(); PrivateKey privateKey = new(TestPrivateKeyHex); _publicKey = privateKey.PublicKey; LimboLogs?logManager = LimboLogs.Instance; IDiscoveryConfig discoveryConfig = new DiscoveryConfig(); discoveryConfig.PongTimeout = 100; _msgSender = Substitute.For <IMsgSender>(); NodeDistanceCalculator calculator = new(discoveryConfig); _networkConfig.ExternalIp = "99.10.10.66"; _networkConfig.LocalIp = "10.0.0.5"; _nodeTable = new NodeTable(calculator, discoveryConfig, _networkConfig, logManager); _nodeTable.Initialize(TestItem.PublicKeyA); EvictionManager evictionManager = new(_nodeTable, logManager); ITimerFactory timerFactory = Substitute.For <ITimerFactory>(); NodeLifecycleManagerFactory lifecycleFactory = new(_nodeTable, evictionManager, new NodeStatsManager(timerFactory, logManager), new NodeRecord(), discoveryConfig, Timestamper.Default, logManager); _nodes = new[] { new Node(TestItem.PublicKeyA, "192.168.1.18", 1), new Node(TestItem.PublicKeyB, "192.168.1.19", 2) }; IFullDb nodeDb = new SimpleFilePublicKeyDb("Test", "test_db", logManager); _discoveryManager = new DiscoveryManager(lifecycleFactory, _nodeTable, new NetworkStorage(nodeDb, logManager), discoveryConfig, logManager); _discoveryManager.MsgSender = _msgSender; }
public void Initialize() { var privateKey = new PrivateKey(TestPrivateKeyHex); _publicKey = privateKey.PublicKey; var logManager = NullLogManager.Instance; //var config = new NetworkConfigurationProvider(new NetworkHelper(logger)) { PongTimeout = 100 }; var config = new JsonConfigProvider(); var networkConfig = config.GetConfig <INetworkConfig>(); networkConfig.PongTimeout = 100; var statsConfig = config.GetConfig <IStatsConfig>(); _messageSender = Substitute.For <IMessageSender>(); _nodeFactory = new NodeFactory(); var calculator = new NodeDistanceCalculator(config); _nodeTable = new NodeTable(_nodeFactory, new FileKeyStore(config, new JsonSerializer(logManager), new AesEncrypter(config, logManager), new CryptoRandom(), logManager), calculator, config, logManager); _nodeTable.Initialize(); var evictionManager = new EvictionManager(_nodeTable, logManager); var lifecycleFactory = new NodeLifecycleManagerFactory(_nodeFactory, _nodeTable, new DiscoveryMessageFactory(config), evictionManager, new NodeStatsProvider(statsConfig, _nodeFactory, logManager), config, logManager); _nodes = new[] { _nodeFactory.CreateNode("192.168.1.18", 1), _nodeFactory.CreateNode("192.168.1.19", 2) }; _discoveryManager = new DiscoveryManager(lifecycleFactory, _nodeFactory, _nodeTable, new NetworkStorage("test", networkConfig, logManager, new PerfService(logManager)), config, logManager); _discoveryManager.MessageSender = _messageSender; }
public void Initialize() { NetworkNodeDecoder.Init(); SetupNodeIds(); var logManager = NullLogManager.Instance; //setting config to store 3 nodes in a bucket and for table to have one bucket//setting config to store 3 nodes in a bucket and for table to have one bucket _configurationProvider = new ConfigProvider(); IDiscoveryConfig discoveryConfig = _configurationProvider.GetConfig <IDiscoveryConfig>(); discoveryConfig.PongTimeout = 50; discoveryConfig.BucketSize = 3; discoveryConfig.BucketsCount = 1; IStatsConfig statsConfig = _configurationProvider.GetConfig <IStatsConfig>(); var calculator = new NodeDistanceCalculator(discoveryConfig); _nodeTable = new NodeTable(calculator, discoveryConfig, logManager); _nodeTable.Initialize(TestItem.PublicKeyA); _timestamp = new Timestamp(); var evictionManager = new EvictionManager(_nodeTable, logManager); var lifecycleFactory = new NodeLifecycleManagerFactory(_nodeTable, new DiscoveryMessageFactory(_timestamp), evictionManager, new NodeStatsManager(statsConfig, logManager), discoveryConfig, logManager); _udpClient = Substitute.For <IMessageSender>(); var discoveryDb = new SimpleFilePublicKeyDb("test", logManager); _discoveryManager = new DiscoveryManager(lifecycleFactory, _nodeTable, new NetworkStorage(discoveryDb, logManager), discoveryConfig, logManager); _discoveryManager.MessageSender = _udpClient; }
public NodesLocator(INodeTable nodeTable, IDiscoveryManager discoveryManager, IConfigProvider configurationProvider, ILogManager logManager) { _logger = logManager?.GetClassLogger(); _configurationProvider = configurationProvider.GetConfig <INetworkConfig>(); _nodeTable = nodeTable; _discoveryManager = discoveryManager; }
public void Initialize() { NetworkNodeDecoder.Init(); var privateKey = new PrivateKey(TestPrivateKeyHex); _publicKey = privateKey.PublicKey; var logManager = LimboLogs.Instance; IDiscoveryConfig discoveryConfig = new DiscoveryConfig(); discoveryConfig.PongTimeout = 100; _messageSender = Substitute.For <IMessageSender>(); var calculator = new NodeDistanceCalculator(discoveryConfig); _networkConfig.ExternalIp = "99.10.10.66"; _networkConfig.LocalIp = "10.0.0.5"; _nodeTable = new NodeTable(calculator, discoveryConfig, _networkConfig, logManager); _nodeTable.Initialize(TestItem.PublicKeyA); _timestamper = Timestamper.Default; _ipResolver = new IPResolver(_networkConfig, logManager); var evictionManager = new EvictionManager(_nodeTable, logManager); var lifecycleFactory = new NodeLifecycleManagerFactory(_nodeTable, new DiscoveryMessageFactory(_timestamper), evictionManager, new NodeStatsManager(logManager), discoveryConfig, logManager); _nodes = new[] { new Node("192.168.1.18", 1), new Node("192.168.1.19", 2) }; IFullDb nodeDb = new SimpleFilePublicKeyDb("Test", "test_db", logManager); _discoveryManager = new DiscoveryManager(lifecycleFactory, _nodeTable, new NetworkStorage(nodeDb, logManager), discoveryConfig, logManager, _ipResolver); _discoveryManager.MessageSender = _messageSender; }
public DiscoveryApp( INodesLocator nodesLocator, IDiscoveryManager discoveryManager, INodeTable nodeTable, IMessageSerializationService messageSerializationService, ICryptoRandom cryptoRandom, INetworkStorage discoveryStorage, INetworkConfig networkConfig, IDiscoveryConfig discoveryConfig, ITimestamper timestamper, ILogManager logManager, IPerfService perfService) { _logManager = logManager ?? throw new ArgumentNullException(nameof(logManager)); _logger = _logManager.GetClassLogger(); _perfService = perfService ?? throw new ArgumentNullException(nameof(perfService)); _discoveryConfig = discoveryConfig ?? throw new ArgumentNullException(nameof(discoveryConfig)); _timestamper = timestamper ?? throw new ArgumentNullException(nameof(timestamper)); _nodesLocator = nodesLocator ?? throw new ArgumentNullException(nameof(nodesLocator)); _discoveryManager = discoveryManager ?? throw new ArgumentNullException(nameof(discoveryManager)); _nodeTable = nodeTable ?? throw new ArgumentNullException(nameof(nodeTable)); _messageSerializationService = messageSerializationService ?? throw new ArgumentNullException(nameof(messageSerializationService)); _cryptoRandom = cryptoRandom ?? throw new ArgumentNullException(nameof(cryptoRandom)); _discoveryStorage = discoveryStorage ?? throw new ArgumentNullException(nameof(discoveryStorage)); _networkConfig = networkConfig ?? throw new ArgumentNullException(nameof(networkConfig)); _discoveryStorage.StartBatch(); }
public NodesLocator(INodeTable nodeTable, IDiscoveryManager discoveryManager, IDiscoveryConfigurationProvider configurationProvider, ILogger logger) { _nodeTable = nodeTable; _discoveryManager = discoveryManager; _configurationProvider = configurationProvider; _logger = logger; }
public void Initialize() { NetworkNodeDecoder.Init(); var privateKey = new PrivateKey(TestPrivateKeyHex); _publicKey = privateKey.PublicKey; var logManager = NullLogManager.Instance; IKeyStoreConfig keyStoreConfig = new KeyStoreConfig(); INetworkConfig networkConfig = new NetworkConfig(); networkConfig.PongTimeout = 100; IStatsConfig statsConfig = new StatsConfig(); _messageSender = Substitute.For <IMessageSender>(); var calculator = new NodeDistanceCalculator(networkConfig); _nodeTable = new NodeTable(new FileKeyStore(keyStoreConfig, new EthereumJsonSerializer(), new AesEncrypter(keyStoreConfig, logManager), new CryptoRandom(), logManager), calculator, networkConfig, logManager); _nodeTable.Initialize(TestItem.PublicKeyA); _timestamp = new Timestamp(); var evictionManager = new EvictionManager(_nodeTable, logManager); var lifecycleFactory = new NodeLifecycleManagerFactory(_nodeTable, new DiscoveryMessageFactory(networkConfig, _timestamp), evictionManager, new NodeStatsManager(statsConfig, logManager), networkConfig, logManager); _nodes = new[] { new Node("192.168.1.18", 1), new Node("192.168.1.19", 2) }; _discoveryManager = new DiscoveryManager(lifecycleFactory, _nodeTable, new NetworkStorage("test", networkConfig, logManager, new PerfService(logManager)), networkConfig, logManager); _discoveryManager.MessageSender = _messageSender; }
public void Initialize() { NetworkNodeDecoder.Init(); var privateKey = new PrivateKey(TestPrivateKeyHex); _publicKey = privateKey.PublicKey; var logManager = NullLogManager.Instance; IDiscoveryConfig discoveryConfig = new DiscoveryConfig(); discoveryConfig.PongTimeout = 100; IStatsConfig statsConfig = new StatsConfig(); _messageSender = Substitute.For <IMessageSender>(); var calculator = new NodeDistanceCalculator(discoveryConfig); _nodeTable = new NodeTable(calculator, discoveryConfig, logManager); _nodeTable.Initialize(TestItem.PublicKeyA); _timestamp = new Timestamp(); var evictionManager = new EvictionManager(_nodeTable, logManager); var lifecycleFactory = new NodeLifecycleManagerFactory(_nodeTable, new DiscoveryMessageFactory(_timestamp), evictionManager, new NodeStatsManager(statsConfig, logManager), discoveryConfig, logManager); _nodes = new[] { new Node("192.168.1.18", 1), new Node("192.168.1.19", 2) }; IFullDb nodeDb = new SimpleFilePublicKeyDb("test_db", logManager); _discoveryManager = new DiscoveryManager(lifecycleFactory, _nodeTable, new NetworkStorage(nodeDb, logManager), discoveryConfig, logManager); _discoveryManager.MessageSender = _messageSender; }
public NodeLifecycleManagerFactory(INodeTable nodeTable, IDiscoveryMessageFactory discoveryMessageFactory, IEvictionManager evictionManager, INodeStatsManager nodeStatsManager, IDiscoveryConfig discoveryConfig, ILogManager logManager) { _logger = logManager?.GetClassLogger() ?? throw new ArgumentNullException(nameof(logManager)); _nodeTable = nodeTable ?? throw new ArgumentNullException(nameof(nodeTable)); _discoveryConfig = discoveryConfig ?? throw new ArgumentNullException(nameof(discoveryConfig)); _discoveryMessageFactory = discoveryMessageFactory ?? throw new ArgumentNullException(nameof(discoveryMessageFactory)); _evictionManager = evictionManager ?? throw new ArgumentNullException(nameof(evictionManager)); _nodeStatsManager = nodeStatsManager ?? throw new ArgumentNullException(nameof(nodeStatsManager)); }
/// <summary> /// Initializes the object. /// </summary> /// <param name="owner">The owner.</param> /// <param name="nodeId">The node identifier.</param> public RemoteNode(INodeTable owner, ExpandedNodeId nodeId) { m_nodeId = nodeId; m_refs = 0; m_nodeClass = NodeClass.Unspecified; m_browseName = new QualifiedName("(Unknown)"); m_displayName = new LocalizedText(m_browseName.Name); m_typeDefinitionId = null; }
public NodeLifecycleManagerFactory(INodeFactory nodeFactory, INodeTable nodeTable, ILogger logger, IDiscoveryConfigurationProvider discoveryConfigurationProvider, IDiscoveryMessageFactory discoveryMessageFactory, IEvictionManager evictionManager, INodeStatsProvider nodeStatsProvider) { _nodeFactory = nodeFactory; _nodeTable = nodeTable; _logger = logger; _discoveryConfigurationProvider = discoveryConfigurationProvider; _discoveryMessageFactory = discoveryMessageFactory; _evictionManager = evictionManager; _nodeStatsProvider = nodeStatsProvider; }
public NodeLifecycleManager(Node node, IDiscoveryManager discoveryManager, INodeTable nodeTable, ILogger logger, IConfigProvider configurationProvider, IDiscoveryMessageFactory discoveryMessageFactory, IEvictionManager evictionManager, INodeStats nodeStats) { _discoveryManager = discoveryManager; _nodeTable = nodeTable; _logger = logger; _configurationProvider = configurationProvider.GetConfig <NetworkConfig>(); _discoveryMessageFactory = discoveryMessageFactory; _evictionManager = evictionManager; NodeStats = nodeStats; ManagedNode = node; UpdateState(NodeLifecycleState.New); }
public NodeLifecycleManager(Node node, IDiscoveryManager discoveryManager, INodeTable nodeTable, IDiscoveryMessageFactory discoveryMessageFactory, IEvictionManager evictionManager, INodeStats nodeStats, IDiscoveryConfig discoveryConfig, ILogger logger) { _discoveryManager = discoveryManager; _nodeTable = nodeTable; _logger = logger; _discoveryConfig = discoveryConfig; _discoveryMessageFactory = discoveryMessageFactory; _evictionManager = evictionManager; NodeStats = nodeStats; ManagedNode = node; UpdateState(NodeLifecycleState.New); }
public DiscoveryApp(IDiscoveryConfigurationProvider configurationProvider, INodesLocator nodesLocator, ILogger logger, IDiscoveryManager discoveryManager, INodeFactory nodeFactory, INodeTable nodeTable, IMessageSerializationService messageSerializationService, ICryptoRandom cryptoRandom, IDiscoveryStorage discoveryStorage) { _configurationProvider = configurationProvider; _nodesLocator = nodesLocator; _logger = logger; _discoveryManager = discoveryManager; _nodeFactory = nodeFactory; _nodeTable = nodeTable; _messageSerializationService = messageSerializationService; _cryptoRandom = cryptoRandom; _discoveryStorage = discoveryStorage; _discoveryStorage.StartBatch(); }
public DiscoveryManager(INodeLifecycleManagerFactory nodeLifecycleManagerFactory, INodeTable nodeTable, INetworkStorage discoveryStorage, INetworkConfig networkConfig, ILogManager logManager) { _logger = logManager.GetClassLogger(); _configurationProvider = networkConfig; _nodeLifecycleManagerFactory = nodeLifecycleManagerFactory; _nodeTable = nodeTable; _discoveryStorage = discoveryStorage; _nodeLifecycleManagerFactory.DiscoveryManager = this; }
public void Initialize() { _discoveryManagerMock = Substitute.For <IDiscoveryManager>(); _discoveryConfigMock = Substitute.For <IDiscoveryConfig>(); NetworkNodeDecoder.Init(); SetupNodeIds(); var logManager = LimboLogs.Instance; _loggerMock = Substitute.For <ILogger>(); //setting config to store 3 nodes in a bucket and for table to have one bucket//setting config to store 3 nodes in a bucket and for table to have one bucket _configurationProvider = new ConfigProvider(); _networkConfig.ExternalIp = "99.10.10.66"; _networkConfig.LocalIp = "10.0.0.5"; IDiscoveryConfig discoveryConfig = _configurationProvider.GetConfig <IDiscoveryConfig>(); discoveryConfig.PongTimeout = 50; discoveryConfig.BucketSize = 3; discoveryConfig.BucketsCount = 1; _ipResolverMock = Substitute.For <IIPResolver>(); IStatsConfig statsConfig = _configurationProvider.GetConfig <IStatsConfig>(); var calculator = new NodeDistanceCalculator(discoveryConfig); _nodeTable = new NodeTable(calculator, discoveryConfig, _networkConfig, logManager); _nodeTable.Initialize(TestItem.PublicKeyA); _nodeStatsMock = Substitute.For <INodeStats>(); _timestamper = Timestamper.Default; var evictionManager = new EvictionManager(_nodeTable, logManager); _evictionManagerMock = Substitute.For <IEvictionManager>(); var lifecycleFactory = new NodeLifecycleManagerFactory(_nodeTable, new DiscoveryMessageFactory(_timestamper), evictionManager, new NodeStatsManager(statsConfig, logManager), discoveryConfig, logManager); _udpClient = Substitute.For <IMessageSender>(); var discoveryDb = new SimpleFilePublicKeyDb("Test", "test", logManager); _discoveryManager = new DiscoveryManager(lifecycleFactory, _nodeTable, new NetworkStorage(discoveryDb, logManager), discoveryConfig, logManager, _ipResolverMock); _discoveryManager.MessageSender = _udpClient; _discoveryManagerMock = Substitute.For <IDiscoveryManager>(); }
public void BuildHierarchy(INodeTable <string> table) { // TODO 부모 없는 모다 찾아서 붙이기 var parentlist = new List <GameObjectNode>(); foreach (var n in table.GetEnumerable <GameObjectNode>()) { if (n.ParentObject == null) { parentlist.Add(n); } } Children = parentlist.ToArray(); }
public DiscoveryManager( INodeLifecycleManagerFactory nodeLifecycleManagerFactory, INodeTable nodeTable, INetworkStorage discoveryStorage, IDiscoveryConfig discoveryConfig, ILogManager logManager) { _logger = logManager.GetClassLogger() ?? throw new ArgumentNullException(nameof(logManager)); _discoveryConfig = discoveryConfig ?? throw new ArgumentNullException(nameof(discoveryConfig)); _nodeLifecycleManagerFactory = nodeLifecycleManagerFactory ?? throw new ArgumentNullException(nameof(nodeLifecycleManagerFactory)); _nodeTable = nodeTable ?? throw new ArgumentNullException(nameof(nodeTable)); _discoveryStorage = discoveryStorage ?? throw new ArgumentNullException(nameof(discoveryStorage)); _nodeLifecycleManagerFactory.DiscoveryManager = this; }
public DiscoveryManager( ILogger logger, IDiscoveryConfigurationProvider configurationProvider, INodeLifecycleManagerFactory nodeLifecycleManagerFactory, INodeFactory nodeFactory, INodeTable nodeTable, IDiscoveryStorage discoveryStorage) { _logger = logger; _configurationProvider = configurationProvider; _nodeLifecycleManagerFactory = nodeLifecycleManagerFactory; _nodeFactory = nodeFactory; _nodeTable = nodeTable; _discoveryStorage = discoveryStorage; _nodeLifecycleManagerFactory.DiscoveryManager = this; }
public NodeLifecycleManagerFactory(INodeTable nodeTable, IEvictionManager evictionManager, INodeStatsManager nodeStatsManager, NodeRecord self, IDiscoveryConfig discoveryConfig, ITimestamper timestamper, ILogManager?logManager) { _logger = logManager?.GetClassLogger() ?? throw new ArgumentNullException(nameof(logManager)); _nodeTable = nodeTable ?? throw new ArgumentNullException(nameof(nodeTable)); _discoveryConfig = discoveryConfig ?? throw new ArgumentNullException(nameof(discoveryConfig)); _timestamper = timestamper ?? throw new ArgumentNullException(nameof(timestamper)); _evictionManager = evictionManager ?? throw new ArgumentNullException(nameof(evictionManager)); _nodeStatsManager = nodeStatsManager ?? throw new ArgumentNullException(nameof(nodeStatsManager)); _selfNodeRecord = self ?? throw new ArgumentNullException(nameof(self)); }
public void Setup() { _discoveryManagerMock = Substitute.For <IDiscoveryManager>(); _discoveryConfigMock = Substitute.For <IDiscoveryConfig>(); NetworkNodeDecoder.Init(); SetupNodeIds(); LimboLogs?logManager = LimboLogs.Instance; _loggerMock = Substitute.For <ILogger>(); //setting config to store 3 nodes in a bucket and for table to have one bucket//setting config to store 3 nodes in a bucket and for table to have one bucket IConfigProvider configurationProvider = new ConfigProvider(); _networkConfig.ExternalIp = "99.10.10.66"; _networkConfig.LocalIp = "10.0.0.5"; IDiscoveryConfig discoveryConfig = configurationProvider.GetConfig <IDiscoveryConfig>(); discoveryConfig.PongTimeout = 50; discoveryConfig.BucketSize = 3; discoveryConfig.BucketsCount = 1; NodeDistanceCalculator calculator = new(discoveryConfig); _nodeTable = new NodeTable(calculator, discoveryConfig, _networkConfig, logManager); _nodeTable.Initialize(TestItem.PublicKeyA); _nodeStatsMock = Substitute.For <INodeStats>(); EvictionManager evictionManager = new(_nodeTable, logManager); _evictionManagerMock = Substitute.For <IEvictionManager>(); ITimerFactory timerFactory = Substitute.For <ITimerFactory>(); NodeLifecycleManagerFactory lifecycleFactory = new(_nodeTable, evictionManager, new NodeStatsManager(timerFactory, logManager), new NodeRecord(), discoveryConfig, Timestamper.Default, logManager); IMsgSender udpClient = Substitute.For <IMsgSender>(); SimpleFilePublicKeyDb discoveryDb = new("Test", "test", logManager); _discoveryManager = new DiscoveryManager(lifecycleFactory, _nodeTable, new NetworkStorage(discoveryDb, logManager), discoveryConfig, logManager); _discoveryManager.MsgSender = udpClient; _discoveryManagerMock = Substitute.For <IDiscoveryManager>(); }
// child-parent public void BuildHierarchy(INodeTable <string> table) { if (ParentObject != null) { Parent = table.Get <GameObjectNode>(ParentObject.GetInstanceID().ToString()); } var childlist = new List <GameObjectNode>(); var tr = CurrentObject.transform; for (int i = 0; i < tr.childCount; i++) { var childtr = tr.GetChild(i); var child = table.Get <GameObjectNode>(childtr.gameObject.GetInstanceID().ToString()); childlist.Add(child); } Children = childlist.ToArray(); }
public override void Initialize <T1>(T1 comp, INodeTable <int> containerTable) { base.Initialize(comp, containerTable); // find mesh & material if (Value is MeshRenderer || Value is SkinnedMeshRenderer) { var mesh = ComponentHelper.GetMesh(Value.gameObject); Mesh = containerTable.Get <MeshContainer>(mesh.GetInstanceID()); // TODO material이 여러개인 경우는? var mtl = Value.sharedMaterial; Material = containerTable.Get <MaterialContainer>(mtl.GetInstanceID()); } else { throw new NotImplementedException("unknown renderer " + comp.GetType().ToString()); } }
public NodeLifecycleManager(Node node, IDiscoveryManager discoveryManager, INodeTable nodeTable, IEvictionManager evictionManager, INodeStats nodeStats, NodeRecord nodeRecord, IDiscoveryConfig discoveryConfig, ITimestamper timestamper, ILogger logger) { _discoveryManager = discoveryManager ?? throw new ArgumentNullException(nameof(discoveryManager)); _nodeTable = nodeTable ?? throw new ArgumentNullException(nameof(nodeTable)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _discoveryConfig = discoveryConfig ?? throw new ArgumentNullException(nameof(discoveryConfig)); _timestamper = timestamper ?? throw new ArgumentNullException(nameof(timestamper)); _evictionManager = evictionManager ?? throw new ArgumentNullException(nameof(evictionManager)); _nodeRecord = nodeRecord ?? throw new ArgumentNullException(nameof(nodeRecord)); NodeStats = nodeStats ?? throw new ArgumentNullException(nameof(nodeStats)); ManagedNode = node; UpdateState(NodeLifecycleState.New); }
/// <summary> /// Converts an FilterOperand to a displayable string. /// </summary> /// <param name="nodeTable">The node table.</param> /// <returns>ContentFilterElement as a displayable string.</returns> public virtual string ToString(INodeTable nodeTable) { return Utils.Format("{0}", this); }
/// <summary> /// Converts an ContentFilterElement to a displayable string. /// </summary> /// <param name="nodeTable">The node table.</param> /// <returns>ContentFilterElement as a displayable string.</returns> public virtual string ToString(INodeTable nodeTable) { List<FilterOperand> operands = GetOperands(); string operand1 = (operands.Count > 0)?operands[0].ToString(nodeTable):null; string operand2 = (operands.Count > 1)?operands[1].ToString(nodeTable):null; string operand3 = (operands.Count > 2)?operands[2].ToString(nodeTable):null; StringBuilder buffer = new StringBuilder(); switch (FilterOperator) { case FilterOperator.OfType: case FilterOperator.InView: case FilterOperator.IsNull: case FilterOperator.Not: { buffer.AppendFormat("{0} '{1}'", FilterOperator, operand1); break; } case FilterOperator.And: case FilterOperator.Equals: case FilterOperator.GreaterThan: case FilterOperator.GreaterThanOrEqual: case FilterOperator.LessThan: case FilterOperator.LessThanOrEqual: case FilterOperator.Like: case FilterOperator.Or: { buffer.AppendFormat("'{1}' {0} '{2}'", FilterOperator, operand1, operand2); break; } case FilterOperator.Between: { buffer.AppendFormat("'{1}' <= '{0}' <= '{2}'", operand1, operand2, operand3); break; } case FilterOperator.Cast: { buffer.AppendFormat("({1}){0}", operand1, operand2); break; } case FilterOperator.InList: { buffer.AppendFormat("'{0}' in {", operand1); for (int ii = 1; ii < operands.Count; ii++) { if (ii < operands.Count-1) { buffer.Append(", "); } buffer.AppendFormat("'{0}'", operands[ii].ToString()); } buffer.Append("}"); break; } case FilterOperator.RelatedTo: { buffer.AppendFormat("'{0}' ", operand1); string referenceType = operand2; if (operands.Count > 1) { LiteralOperand literalOperand = operands[1] as LiteralOperand; if (literalOperand != null) { INode node = nodeTable.Find(literalOperand.Value.Value as NodeId); if (node != null) { referenceType = Utils.Format("{0}", node); } } } buffer.AppendFormat("{0} '{1}'", referenceType, operand2); if (operand3 != null) { buffer.AppendFormat("Hops='{0}'", operand3); } break; } } return buffer.ToString(); }
/// <summary> /// Converts an LiteralOperand to a displayable string. /// </summary> /// <param name="table">The table.</param> /// <returns>LiteralOperand as a displayable string.</returns> public override string ToString(INodeTable table) { ExpandedNodeId nodeId = Value.Value as ExpandedNodeId; if (nodeId == null) { nodeId = Value.Value as NodeId; } if (nodeId != null) { INode node = table.Find(nodeId); if (node != null) { return Utils.Format("{0} ({1})", node, nodeId); } } return Utils.Format("{0}", Value); }
/// <summary> /// Converts an ElementOperand to a displayable string. /// </summary> /// <param name="table">The table.</param> /// <returns>ElementOperand as a displayable string.</returns> public override string ToString(INodeTable table) { return Utils.Format("Element[{0}]", Index); }
/// <summary> /// Converts an AttributeOperand to a displayable string. /// </summary> /// <param name="nodeTable">The node table.</param> /// <returns>AttributeOperand as a displayable string.</returns> public override string ToString(INodeTable nodeTable) { StringBuilder buffer = new StringBuilder(); INode node = nodeTable.Find(m_nodeId); if (node != null) { buffer.AppendFormat("{0}", NodeId); } else { buffer.AppendFormat("{0}", NodeId); } if (!RelativePath.IsEmpty(BrowsePath)) { buffer.AppendFormat("/{0}", BrowsePath.Format(nodeTable.TypeTree)); } if (!String.IsNullOrEmpty(IndexRange)) { buffer.AppendFormat("[{0}]", NumericRange.Parse(IndexRange)); } if (!String.IsNullOrEmpty(Alias)) { buffer.AppendFormat("- '{0}'", Alias); } return buffer.ToString(); }
/// <summary> /// Converts an AttributeOperand to a displayable string. /// </summary> public override string ToString(INodeTable nodeTable) { StringBuilder buffer = new StringBuilder(); INode node = nodeTable.Find(TypeDefinitionId); if (node != null) { buffer.AppendFormat("{0}", TypeDefinitionId); } else { buffer.AppendFormat("{0}", TypeDefinitionId); } if (BrowsePath != null && BrowsePath.Count > 0) { buffer.AppendFormat("{0}", Format(BrowsePath)); } if (!String.IsNullOrEmpty(IndexRange)) { buffer.AppendFormat("[{0}]", NumericRange.Parse(IndexRange)); } return buffer.ToString(); }