/// <summary> /// Updates the node information from stream. /// </summary> /// <param name="memPtr">Stream ptr.</param> public void UpdateNodeInfo(long memPtr) { var stream = IgniteManager.Memory.Get(memPtr).GetStream(); IBinaryRawReader reader = Marshaller.StartUnmarshal(stream, false); var node = new ClusterNodeImpl(reader); node.Init(this); _nodes[node.Id] = node; }
/// <summary> /// Initializes a new instance of the <see cref="ClientClusterNode"/> class. /// </summary> /// <param name="reader">The reader.</param> public ClientClusterNode(IBinaryRawReader reader) { var id = reader.ReadGuid(); Debug.Assert(id.HasValue); _id = id.Value; _attrs = ClusterNodeImpl.ReadAttributes(reader); _addrs = reader.ReadCollectionAsList <string>().AsReadOnly(); _hosts = reader.ReadCollectionAsList <string>().AsReadOnly(); _order = reader.ReadLong(); _isLocal = reader.ReadBoolean(); _isDaemon = reader.ReadBoolean(); _isClient = reader.ReadBoolean(); _consistentId = reader.ReadObject <object>(); _version = new IgniteProductVersion(reader); }