NET_RefAddress(3)

NAME
NET_RefAddress - Add a reference to an NET_Address.

SYNOPSIS
#include <SDL3_net/SDL_net.h>

NET_Address* NET_RefAddress(NET_Address *address);

DESCRIPTION
Since several pieces of the library might share a single NET_Address, including a background thread that's working on resolving, these objects are referenced counted. This allows everything that's using it to declare they still want it, and drop their reference to the address when they are done with it. The object's resources are freed when the last reference is dropped.

This function adds a reference to an NET_Address, increasing its reference count by one.

The documentation will tell you when the app has to explicitly unref an address. For example, NET_ResolveHostname() creates addresses that are already referenced, so the caller needs to unref it when done.

Generally you only have to explicit ref an address when you have different parts of your own app that will be sharing an address. In normal usage, you only have to unref things you've created once (like you might free() something), but you are free to add extra refs if it makes sense.

This returns the same address passed as a parameter, which makes it easy to ref and assign in one step:

        myAddr = NET_RefAddress(yourAddr);

FUNCTION PARAMETERS

address
    The NET_Address to add a reference to.

RETURN VALUE
Returns the same address that was passed as a parameter.

THREAD SAFETY
It is safe to call this function from any thread.

AVAILABILITY
This function is available since SDL_net 3.0.0.