diff options
| author | Garrett D'Amore <garrett@damore.org> | 2024-11-09 23:45:21 -0800 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2024-11-11 11:03:12 -0800 |
| commit | 713b80f440cb414cd0b856bde0ea1b31f939777f (patch) | |
| tree | 1186c42418559c85719023bde3e919aa2df7fcef /src/core/init.h | |
| parent | cbe9a27ef7485977fbc7c713376b096b6723da3d (diff) | |
| download | nng-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.h | 21 |
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 |
