diff options
| author | Garrett D'Amore <garrett@damore.org> | 2017-12-29 14:21:20 -0800 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2017-12-30 19:05:41 -0800 |
| commit | 6a50035b242b972c1d9b659ba63e037a0a8afe71 (patch) | |
| tree | fe2600235a01e72d1e7bd5fad1d5e2ea62aada2e /src/nng.c | |
| parent | a0364185784895c4bc748a6e6453a132d618c96c (diff) | |
| download | nng-6a50035b242b972c1d9b659ba63e037a0a8afe71.tar.gz nng-6a50035b242b972c1d9b659ba63e037a0a8afe71.tar.bz2 nng-6a50035b242b972c1d9b659ba63e037a0a8afe71.zip | |
fixes #166 Websocket TLS mapping
This introduces the wss:// scheme, which is available and works like
the ws:// scheme if TLS is enabled in the library.
The library modularization is refactored somewhat, to make it easier
to use. There is now a single NNG_ENABLE_TLS that enables TLS support
under the hood.
This also adds a new option for the TLS transport, NNG_OPT_TLS_CONFIG
(and a similar one for WSS, NNG_OPT_TLS_WSS_CONFIG) that offer access
to the underlying TLS configuration object, which now has a public API
to go with it as well.
Note that it is also possible to use pure HTTPS using the *private*
API, which will be exposed in a public form soon.
Diffstat (limited to 'src/nng.c')
| -rw-r--r-- | src/nng.c | 39 |
1 files changed, 39 insertions, 0 deletions
@@ -405,6 +405,12 @@ nng_dialer_setopt_uint64(nng_dialer id, const char *name, uint64_t val) } int +nng_dialer_setopt_ptr(nng_dialer id, const char *name, void *val) +{ + return (nng_dialer_setopt(id, name, &val, sizeof(val))); +} + +int nng_dialer_getopt(nng_dialer id, const char *name, void *val, size_t *szp) { return (nng_ep_getopt(id, name, val, szp, NNI_EP_MODE_DIAL)); @@ -432,6 +438,13 @@ nng_dialer_getopt_uint64(nng_dialer id, const char *name, uint64_t *valp) } int +nng_dialer_getopt_ptr(nng_dialer id, const char *name, void **valp) +{ + size_t sz = sizeof(*valp); + return (nng_dialer_getopt(id, name, valp, &sz)); +} + +int nng_dialer_getopt_ms(nng_dialer id, const char *name, nng_duration *valp) { size_t sz = sizeof(*valp); @@ -470,6 +483,12 @@ nng_listener_setopt_uint64(nng_listener id, const char *name, uint64_t val) } int +nng_listener_setopt_ptr(nng_listener id, const char *name, void *val) +{ + return (nng_listener_setopt(id, name, &val, sizeof(val))); +} + +int nng_listener_getopt(nng_listener id, const char *name, void *val, size_t *szp) { return (nng_ep_getopt(id, name, val, szp, NNI_EP_MODE_LISTEN)); @@ -497,6 +516,13 @@ nng_listener_getopt_uint64(nng_listener id, const char *name, uint64_t *valp) } int +nng_listener_getopt_ptr(nng_listener id, const char *name, void **valp) +{ + size_t sz = sizeof(*valp); + return (nng_listener_getopt(id, name, valp, &sz)); +} + +int nng_listener_getopt_ms(nng_listener id, const char *name, nng_duration *valp) { size_t sz = sizeof(*valp); @@ -588,6 +614,12 @@ nng_setopt_uint64(nng_socket sid, const char *name, uint64_t val) } int +nng_setopt_ptr(nng_socket sid, const char *name, void *val) +{ + return (nng_setopt(sid, name, &val, sizeof(val))); +} + +int nng_getopt_int(nng_socket sid, const char *name, int *valp) { size_t sz = sizeof(*valp); @@ -616,6 +648,13 @@ nng_getopt_ms(nng_socket sid, const char *name, nng_duration *valp) } int +nng_getopt_ptr(nng_socket sid, const char *name, void **valp) +{ + size_t sz = sizeof(*valp); + return (nng_getopt(sid, name, valp, &sz)); +} + +int nng_device(nng_socket s1, nng_socket s2) { int rv; |
