aboutsummaryrefslogtreecommitdiff
path: root/src/core/init.h
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2024-11-09 23:45:21 -0800
committerGarrett D'Amore <garrett@damore.org>2024-11-11 11:03:12 -0800
commit713b80f440cb414cd0b856bde0ea1b31f939777f (patch)
tree1186c42418559c85719023bde3e919aa2df7fcef /src/core/init.h
parentcbe9a27ef7485977fbc7c713376b096b6723da3d (diff)
downloadnng-713b80f440cb414cd0b856bde0ea1b31f939777f.tar.gz
nng-713b80f440cb414cd0b856bde0ea1b31f939777f.tar.bz2
nng-713b80f440cb414cd0b856bde0ea1b31f939777f.zip
refactor initialization/finalization
Applications must now call nng_init(), but they can supply a set of parameters optionally. The code is now safe for multiple libraries to do this concurrently, meaning nng_fini no longer can race against another instance starting up. The nni_init checks on all public APIs are removed now.
Diffstat (limited to 'src/core/init.h')
-rw-r--r--src/core/init.h21
1 files changed, 2 insertions, 19 deletions
diff --git a/src/core/init.h b/src/core/init.h
index d20cf046..2826870b 100644
--- a/src/core/init.h
+++ b/src/core/init.h
@@ -11,26 +11,9 @@
#ifndef CORE_INIT_H
#define CORE_INIT_H
-#include "core/nng_impl.h"
-
-// nni_init is called each time the user enters the library. It ensures that
-// the library is initialized properly, and also deals with checks such as
-// whether the process has forked since last initialization.
-int nni_init(void);
-
-// nni_fini tears everything down. In the future it may be used to ensure
-// that all resources used by the library are released back to the system.
-void nni_fini(void);
-
-// nni_init_param is used by applications (via nng_init_param) to configure
-// some tunable settings at runtime. It must be called before any other NNG
-// functions are called, in order to have any effect at all.
-void nni_init_set_param(nng_init_parameter, uint64_t value);
+#include "nng/nng.h"
// subsystems can call this to obtain a parameter value.
-uint64_t nni_init_get_param(nng_init_parameter parameter, uint64_t default_value);
-
-// subsystems can set this to facilitate tests (only used in test code)
-void nni_init_set_effective(nng_init_parameter p, uint64_t value);
+nng_init_params *nni_init_get_params(void);
#endif // CORE_INIT_H