]> git.meshlink.io Git - meshlink/blobdiff - src/meshlink.h
Document that meshlink_join() and meshlink_get_external_address() are blocking.
[meshlink] / src / meshlink.h
index 668d8e71501c393bd8d14e3e13cfebf9fe8dc748..2ecbfff339c73903c40c9d683ae5a8c875cd9689 100644 (file)
@@ -443,6 +443,10 @@ extern bool meshlink_add_address(meshlink_handle_t *mesh, const char *address);
  *  Also note that if you have a dynamic IP address, or are behind carrier-grade NAT,
  *  there is no guarantee that the external address will be valid for an extended period of time.
  *
+ *  This function is blocking. It can take several seconds before it returns.
+ *  There is no guarantee it will be able to resolve the external address.
+ *  Failures might be because by temporary network outages.
+ *
  *  @param mesh         A handle which represents an instance of MeshLink.
  *
  *  @return             This function returns a pointer to a C string containing the discovered external address,
@@ -511,6 +515,12 @@ extern char *meshlink_invite(meshlink_handle_t *mesh, const char *name);
  *  An invitation can only be used if the local node has never connected to other nodes before.
  *  After a succesfully accepted invitation, the name of the local node may have changed.
  *
+ *  This function may only be called on a mesh that has not been started yet and which is not already part of an existing mesh.
+ *
+ *  This function is blocking. It can take several seconds before it returns.
+ *  There is no guarantee it will perform a successful join.
+ *  Failures might be caused by temporary network outages, or by the invitation having expired.
+ *
  *  @param mesh         A handle which represents an instance of MeshLink.
  *  @param invitation   A nul-terminated C string containing the invitation URL.
  *                      After this function returns, the application is free to overwrite or free @a invitation @a.