Post

Replies

Boosts

Views

Activity

Understanding how ARC is different for Struct vs Class
Hi, I was trying to understand how swift manages it memory just wanted to verify my understanding on it. For Value Types i.e. Struct ARC (Automatic Reference Counting) is not there, Memory is Managed/Confined on the basis of scope of that Variable. And For Struct whenver we do assignment a Copy is been created. For Classes, Swift Manages Memroy with the help of ARC i.e. whenever I create a instance of class its reference count get increased and when we assign same instance to new variable then it also result in increment of Reference Count. The Memory will get deallocated when all the variables pointing to that object are no longer in use.
1
0
957
Aug ’24
How ARC works withUnsafeMutablePointer Interface.
I am using withUnsafeMutablePointer to get raw pointer from Data. Once I get a Pointer I follow these steps: I create a Wrapper using that Pointer. After that I increase it ARC and pass it as a opaque to C++ When I was on First Step if my thread get suspended and after some time if it resumes then is there a possibility that the Memory will get freed due to ARC. Adding basic Code Flow depicting what i am doing. public class DataHolder { public init () {} public var data_wrapper : Data? } func InternalReceiveHandler (_ pContent : Data?) -> Void { var holder : DataHolder = DataHolder.init () withUnsafeMutablePointer (to : &pContent) { data_pointer in holder.data_wrapper = Data.init (noBytesCopy : data_pointer, count : no_of_bytes, deallocator : .none) return Unmanaged.passRetained (holder).toOpaque () } } Is there a possibility that when I am creating the wrapper my thread get suspended and when it get resumed the Memory the pointer was pointing can be freed by ARC.
5
0
962
Aug ’24
Network Name (local domain Name) of a Mac (Mac-OS)
I want to get the network-name (domain-name) on my Mac-Machine. Where iin the Settings does this domain name gets configured. I refer to this page which talks about computer name and host name, I could find where my hostname is present (Settings->General->Sharing->local host name) but not anything related to the network-name (local -domain) . Even try to fetch this info using the linux api to getdomainname, api call succeeded but it returns Nothing. #include <iostream> #include <unistd.h> #include <limits.h> #include <cstring> int main() { char domainname[255]; // Get the domain name if (getdomainname(domainname, 255) != 0) { std::cout << "Error getting domain name" << std::endl; return 1; } std::cout << "Domain name: " << domainname << std::endl; return 0; } Output Domain name: I even came across Search-Domains, Does it have anything to do with the network-name (domain name of the machine)?
5
0
1.6k
Apr ’24
How can we get FQDN (Fully Qualified Domain Name) in IOS and What Api to Use?
I have a use-case were I want to use the the FQDN (Fully Qualified Domain Name) in IOS-Device, which can be used to connect to a Device instead of using the IP-Address. FQDN will be consisting of the machine-name or host-name (Most common term) and the domain-name of the network i.e network-name (local domain assigned to that device). Which IOS Api can be used Here?
1
0
1.1k
Apr ’24
Passing Structure Initiated in Swift To C++ Function as In Param.
I have a use-case where I want to pass the user defined swift structure instantiated in swift and then pass it to a C++ Function as a Input Param. Is there a way to do that?
Replies
1
Boosts
0
Views
470
Activity
Sep ’24
Understanding how ARC is different for Struct vs Class
Hi, I was trying to understand how swift manages it memory just wanted to verify my understanding on it. For Value Types i.e. Struct ARC (Automatic Reference Counting) is not there, Memory is Managed/Confined on the basis of scope of that Variable. And For Struct whenver we do assignment a Copy is been created. For Classes, Swift Manages Memroy with the help of ARC i.e. whenever I create a instance of class its reference count get increased and when we assign same instance to new variable then it also result in increment of Reference Count. The Memory will get deallocated when all the variables pointing to that object are no longer in use.
Replies
1
Boosts
0
Views
957
Activity
Aug ’24
How ARC works withUnsafeMutablePointer Interface.
I am using withUnsafeMutablePointer to get raw pointer from Data. Once I get a Pointer I follow these steps: I create a Wrapper using that Pointer. After that I increase it ARC and pass it as a opaque to C++ When I was on First Step if my thread get suspended and after some time if it resumes then is there a possibility that the Memory will get freed due to ARC. Adding basic Code Flow depicting what i am doing. public class DataHolder { public init () {} public var data_wrapper : Data? } func InternalReceiveHandler (_ pContent : Data?) -> Void { var holder : DataHolder = DataHolder.init () withUnsafeMutablePointer (to : &pContent) { data_pointer in holder.data_wrapper = Data.init (noBytesCopy : data_pointer, count : no_of_bytes, deallocator : .none) return Unmanaged.passRetained (holder).toOpaque () } } Is there a possibility that when I am creating the wrapper my thread get suspended and when it get resumed the Memory the pointer was pointing can be freed by ARC.
Replies
5
Boosts
0
Views
962
Activity
Aug ’24
Network Name (local domain Name) of a Mac (Mac-OS)
I want to get the network-name (domain-name) on my Mac-Machine. Where iin the Settings does this domain name gets configured. I refer to this page which talks about computer name and host name, I could find where my hostname is present (Settings->General->Sharing->local host name) but not anything related to the network-name (local -domain) . Even try to fetch this info using the linux api to getdomainname, api call succeeded but it returns Nothing. #include <iostream> #include <unistd.h> #include <limits.h> #include <cstring> int main() { char domainname[255]; // Get the domain name if (getdomainname(domainname, 255) != 0) { std::cout << "Error getting domain name" << std::endl; return 1; } std::cout << "Domain name: " << domainname << std::endl; return 0; } Output Domain name: I even came across Search-Domains, Does it have anything to do with the network-name (domain name of the machine)?
Replies
5
Boosts
0
Views
1.6k
Activity
Apr ’24
How can we get FQDN (Fully Qualified Domain Name) in IOS and What Api to Use?
I have a use-case were I want to use the the FQDN (Fully Qualified Domain Name) in IOS-Device, which can be used to connect to a Device instead of using the IP-Address. FQDN will be consisting of the machine-name or host-name (Most common term) and the domain-name of the network i.e network-name (local domain assigned to that device). Which IOS Api can be used Here?
Replies
1
Boosts
0
Views
1.1k
Activity
Apr ’24