aboutsummaryrefslogtreecommitdiff
path: root/src/core/socket.h
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2016-12-14 20:44:51 -0800
committerGarrett D'Amore <garrett@damore.org>2016-12-14 20:44:51 -0800
commit9e3f9d4d7a953d41210b9d3757fb003573b90308 (patch)
treec2e634c4eab4f836eedfa12e30e2eecd9c1a0009 /src/core/socket.h
parent3583d5e407476b8836228c0abc52c400d74aba61 (diff)
downloadnng-9e3f9d4d7a953d41210b9d3757fb003573b90308.tar.gz
nng-9e3f9d4d7a953d41210b9d3757fb003573b90308.tar.bz2
nng-9e3f9d4d7a953d41210b9d3757fb003573b90308.zip
nni_socket_add_pipe and nni_socket_remove_pipe implementation.
Diffstat (limited to 'src/core/socket.h')
-rw-r--r--src/core/socket.h27
1 files changed, 26 insertions, 1 deletions
diff --git a/src/core/socket.h b/src/core/socket.h
index 30d863e2..cfc42806 100644
--- a/src/core/socket.h
+++ b/src/core/socket.h
@@ -24,6 +24,31 @@
#define CORE_SOCKET_H
/*
+ * NB: This structure is supplied here for use by the CORE. Use of this library
+ * OUSIDE of the core is STRICTLY VERBOTEN. NO DIRECT ACCESS BY PROTOCOLS OR
+ * TRANSPORTS.
+ */
+
+struct nng_socket {
+ nni_mutex_t s_mx;
+
+ nni_msgqueue_t s_uwq; /* Upper write queue. */
+ nni_msgqueue_t s_urq; /* Upper read queue. */
+
+ struct nni_protocol s_ops;
+
+ void *s_data; /* Protocol private. */
+
+ /* options */
+
+ nni_list_t s_eps;
+ nni_list_t s_pipes;
+
+ int s_besteffort; /* Best effort mode delivery. */
+ int s_senderr; /* Protocol state machine use. */
+};
+
+/*
* Internally used socket API. Again, this stuff is not part of our public
* API.
*/
@@ -31,7 +56,7 @@
extern int nni_socket_create(nni_socket_t *, uint16_t);
extern int nni_socket_close(nni_socket_t);
extern int nni_socket_add_pipe(nni_socket_t, nni_pipe_t);
-extern int nni_socket_remove_pipe(nni_socket_t, nni_pipe_t);
+extern void nni_socket_remove_pipe(nni_socket_t, nni_pipe_t);
extern uint16_t nni_socket_protocol(nni_socket_t);
extern int nni_socket_setopt(nni_socket_t, int, const void *, size_t);
extern int nni_socket_getopt(nni_socket_t, int, void *, size_t *);