aboutsummaryrefslogtreecommitdiff
path: root/src/core/socket.h
diff options
context:
space:
mode:
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 *);