fn from()

in crates/libs/core/src/types/client/node.rs [125:150]


    fn from(value: &FABRIC_NODE_QUERY_RESULT_ITEM) -> Self {
        let raw = value;
        // TODO: get node id. integrate with another PR
        let raw1 = unsafe {
            (raw.Reserved as *const FABRIC_NODE_QUERY_RESULT_ITEM_EX1)
                .as_ref()
                .unwrap()
        };
        let raw2 = unsafe {
            (raw1.Reserved as *const FABRIC_NODE_QUERY_RESULT_ITEM_EX2)
                .as_ref()
                .unwrap()
        };
        Node {
            name: WStringWrap::from(raw.NodeName).into(),
            ip_address_or_fqdn: WStringWrap::from(raw.IpAddressOrFQDN).into(),
            node_type: WStringWrap::from(raw.NodeType).into(),
            code_version: WStringWrap::from(raw.CodeVersion).into(),
            config_version: WStringWrap::from(raw.ConfigVersion).into(),
            node_up_time_in_seconds: raw.NodeUpTimeInSeconds,
            is_seed_node: raw.IsSeedNode,
            upgrade_domain: WStringWrap::from(raw.UpgradeDomain).into(),
            fault_domain: WStringWrap::from(crate::PCWSTR(raw.FaultDomain.0)).into(),
            node_instance_id: raw2.NodeInstanceId,
        }
    }