diff --git a/bindings/c/zmq.h b/bindings/c/zmq.h index 056d89ac..f42f7f95 100644 --- a/bindings/c/zmq.h +++ b/bindings/c/zmq.h @@ -80,21 +80,21 @@ ZMQ_EXPORT const char *zmq_strerror (int errnum); // rather than straighforward malloc/free. Not that 'content' is not a pointer // to the raw data. Rather it is pointer to zmq::msg_content_t structure // (see src/msg_content.hpp for its definition). -struct zmq_msg_t +typedef struct { void *content; unsigned char shared; unsigned char vsm_size; unsigned char vsm_data [ZMQ_MAX_VSM_SIZE]; -}; +} zmq_msg_t; // Initialise an empty message (zero bytes long). -ZMQ_EXPORT int zmq_msg_init (struct zmq_msg_t *msg); +ZMQ_EXPORT int zmq_msg_init (zmq_msg_t *msg); // Initialise a message 'size' bytes long. // // Errors: ENOMEM - message is too big to fit into memory. -ZMQ_EXPORT int zmq_msg_init_size (struct zmq_msg_t *msg, size_t size); +ZMQ_EXPORT int zmq_msg_init_size (zmq_msg_t *msg, size_t size); // Initialise a message from an existing buffer. Message isn't copied, // instead 0MQ infrastructure takes ownership of the buffer and @@ -102,28 +102,28 @@ ZMQ_EXPORT int zmq_msg_init_size (struct zmq_msg_t *msg, size_t size); // needed anymore. Note that deallocation function prototype is designed // so that it complies with standard C 'free' function. typedef void (zmq_free_fn) (void *data); -ZMQ_EXPORT int zmq_msg_init_data (struct zmq_msg_t *msg, void *data, +ZMQ_EXPORT int zmq_msg_init_data (zmq_msg_t *msg, void *data, size_t size, zmq_free_fn *ffn); // Deallocate the message. -ZMQ_EXPORT int zmq_msg_close (struct zmq_msg_t *msg); +ZMQ_EXPORT int zmq_msg_close (zmq_msg_t *msg); // Move the content of the message from 'src' to 'dest'. The content isn't // copied, just moved. 'src' is an empty message after the call. Original // content of 'dest' message is deallocated. -ZMQ_EXPORT int zmq_msg_move (struct zmq_msg_t *dest, struct zmq_msg_t *src); +ZMQ_EXPORT int zmq_msg_move (zmq_msg_t *dest, zmq_msg_t *src); // Copy the 'src' message to 'dest'. The content isn't copied, instead // reference count is increased. Don't modify the message data after the // call as they are shared between two messages. Original content of 'dest' // message is deallocated. -ZMQ_EXPORT int zmq_msg_copy (struct zmq_msg_t *dest, struct zmq_msg_t *src); +ZMQ_EXPORT int zmq_msg_copy (zmq_msg_t *dest, zmq_msg_t *src); // Returns pointer to message data. -ZMQ_EXPORT void *zmq_msg_data (struct zmq_msg_t *msg); +ZMQ_EXPORT void *zmq_msg_data (zmq_msg_t *msg); // Return size of message data (in bytes). -ZMQ_EXPORT size_t zmq_msg_size (struct zmq_msg_t *msg); +ZMQ_EXPORT size_t zmq_msg_size (zmq_msg_t *msg); //////////////////////////////////////////////////////////////////////////////// // 0MQ infrastructure (a.k.a. context) initialisation & termination. @@ -336,7 +336,7 @@ ZMQ_EXPORT int zmq_connect (void *s, const char *addr); // non-blocking send). // ENOTSUP - function isn't supported by particular socket type. // EFSM - function cannot be called at the moment. -ZMQ_EXPORT int zmq_send (void *s, struct zmq_msg_t *msg, int flags); +ZMQ_EXPORT int zmq_send (void *s, zmq_msg_t *msg, int flags); // Flush the messages that were send using ZMQ_NOFLUSH flag down the stream. // @@ -351,7 +351,7 @@ ZMQ_EXPORT int zmq_flush (void *s); // non-blocking receive). // ENOTSUP - function isn't supported by particular socket type. // EFSM - function cannot be called at the moment. -ZMQ_EXPORT int zmq_recv (void *s, struct zmq_msg_t *msg, int flags); +ZMQ_EXPORT int zmq_recv (void *s, zmq_msg_t *msg, int flags); //////////////////////////////////////////////////////////////////////////////// // Helper functions. diff --git a/perf/c/local_lat.c b/perf/c/local_lat.c index 2cbae13a..ca0ff9d7 100644 --- a/perf/c/local_lat.c +++ b/perf/c/local_lat.c @@ -31,7 +31,7 @@ int main (int argc, char *argv []) void *s; int rc; int i; - struct zmq_msg_t msg; + zmq_msg_t msg; if (argc != 4) { printf ("usage: local_lat " diff --git a/perf/c/local_thr.c b/perf/c/local_thr.c index f9ab720a..c97af110 100644 --- a/perf/c/local_thr.c +++ b/perf/c/local_thr.c @@ -31,7 +31,7 @@ int main (int argc, char *argv []) void *s; int rc; int i; - struct zmq_msg_t msg; + zmq_msg_t msg; void *watch; unsigned long elapsed; unsigned long throughput; diff --git a/perf/c/remote_lat.c b/perf/c/remote_lat.c index 52aa0711..55c25b66 100644 --- a/perf/c/remote_lat.c +++ b/perf/c/remote_lat.c @@ -32,7 +32,7 @@ int main (int argc, char *argv []) void *s; int rc; int i; - struct zmq_msg_t msg; + zmq_msg_t msg; void *watch; unsigned long elapsed; double latency; diff --git a/perf/c/remote_thr.c b/perf/c/remote_thr.c index fb685cd0..e6cc6613 100644 --- a/perf/c/remote_thr.c +++ b/perf/c/remote_thr.c @@ -31,7 +31,7 @@ int main (int argc, char *argv []) void *s; int rc; int i; - struct zmq_msg_t msg; + zmq_msg_t msg; if (argc != 4) { printf ("usage: remote_thr " diff --git a/src/p2p.cpp b/src/p2p.cpp index f4030415..c43b7b40 100644 --- a/src/p2p.cpp +++ b/src/p2p.cpp @@ -66,7 +66,7 @@ int zmq::p2p_t::xsetsockopt (int option_, const void *optval_, return -1; } -int zmq::p2p_t::xsend (struct zmq_msg_t *msg_, int flags_) +int zmq::p2p_t::xsend (zmq_msg_t *msg_, int flags_) { zmq_assert (false); return 0; @@ -78,7 +78,7 @@ int zmq::p2p_t::xflush () return 0; } -int zmq::p2p_t::xrecv (struct zmq_msg_t *msg_, int flags_) +int zmq::p2p_t::xrecv (zmq_msg_t *msg_, int flags_) { zmq_assert (false); return 0; diff --git a/src/p2p.hpp b/src/p2p.hpp index a3dae31f..1c98dd56 100644 --- a/src/p2p.hpp +++ b/src/p2p.hpp @@ -39,9 +39,9 @@ namespace zmq void xkill (class reader_t *pipe_); void xrevive (class reader_t *pipe_); int xsetsockopt (int option_, const void *optval_, size_t optvallen_); - int xsend (struct zmq_msg_t *msg_, int flags_); + int xsend (zmq_msg_t *msg_, int flags_); int xflush (); - int xrecv (struct zmq_msg_t *msg_, int flags_); + int xrecv (zmq_msg_t *msg_, int flags_); private: diff --git a/src/pipe.cpp b/src/pipe.cpp index 9f705866..f8dfcb8e 100644 --- a/src/pipe.cpp +++ b/src/pipe.cpp @@ -106,7 +106,7 @@ bool zmq::writer_t::check_write (uint64_t size_) return true; } -bool zmq::writer_t::write (struct zmq_msg_t *msg_) +bool zmq::writer_t::write (zmq_msg_t *msg_) { pipe->write (*msg_); return true; diff --git a/src/pipe.hpp b/src/pipe.hpp index 177b1b48..699e3f73 100644 --- a/src/pipe.hpp +++ b/src/pipe.hpp @@ -43,7 +43,7 @@ namespace zmq void set_endpoint (i_endpoint *endpoint_); // Reads a message to the underlying pipe. - bool read (struct zmq_msg_t *msg_); + bool read (zmq_msg_t *msg_); // Ask pipe to terminate. void term (); @@ -93,7 +93,7 @@ namespace zmq // Writes a message to the underlying pipe. Returns false if the // message cannot be written because high watermark was reached. - bool write (struct zmq_msg_t *msg_); + bool write (zmq_msg_t *msg_); // Flush the messages downsteam. void flush (); diff --git a/src/pub.cpp b/src/pub.cpp index a4031573..1e66a184 100644 --- a/src/pub.cpp +++ b/src/pub.cpp @@ -72,7 +72,7 @@ int zmq::pub_t::xsetsockopt (int option_, const void *optval_, return -1; } -int zmq::pub_t::xsend (struct zmq_msg_t *msg_, int flags_) +int zmq::pub_t::xsend (zmq_msg_t *msg_, int flags_) { out_pipes_t::size_type pipes_count = out_pipes.size (); @@ -150,7 +150,7 @@ int zmq::pub_t::xflush () return 0; } -int zmq::pub_t::xrecv (struct zmq_msg_t *msg_, int flags_) +int zmq::pub_t::xrecv (zmq_msg_t *msg_, int flags_) { errno = ENOTSUP; return -1; diff --git a/src/pub.hpp b/src/pub.hpp index c5eeac1a..07eb5a10 100644 --- a/src/pub.hpp +++ b/src/pub.hpp @@ -40,9 +40,9 @@ namespace zmq void xkill (class reader_t *pipe_); void xrevive (class reader_t *pipe_); int xsetsockopt (int option_, const void *optval_, size_t optvallen_); - int xsend (struct zmq_msg_t *msg_, int flags_); + int xsend (zmq_msg_t *msg_, int flags_); int xflush (); - int xrecv (struct zmq_msg_t *msg_, int flags_); + int xrecv (zmq_msg_t *msg_, int flags_); private: diff --git a/src/rep.cpp b/src/rep.cpp index 7ebbc6d4..137c7356 100644 --- a/src/rep.cpp +++ b/src/rep.cpp @@ -134,7 +134,7 @@ int zmq::rep_t::xsetsockopt (int option_, const void *optval_, return -1; } -int zmq::rep_t::xsend (struct zmq_msg_t *msg_, int flags_) +int zmq::rep_t::xsend (zmq_msg_t *msg_, int flags_) { if (!waiting_for_reply) { errno = EFSM; @@ -165,7 +165,7 @@ int zmq::rep_t::xflush () return -1; } -int zmq::rep_t::xrecv (struct zmq_msg_t *msg_, int flags_) +int zmq::rep_t::xrecv (zmq_msg_t *msg_, int flags_) { // Deallocate old content of the message. zmq_msg_close (msg_); diff --git a/src/rep.hpp b/src/rep.hpp index 07bdaf45..4781213a 100644 --- a/src/rep.hpp +++ b/src/rep.hpp @@ -40,9 +40,9 @@ namespace zmq void xkill (class reader_t *pipe_); void xrevive (class reader_t *pipe_); int xsetsockopt (int option_, const void *optval_, size_t optvallen_); - int xsend (struct zmq_msg_t *msg_, int flags_); + int xsend (zmq_msg_t *msg_, int flags_); int xflush (); - int xrecv (struct zmq_msg_t *msg_, int flags_); + int xrecv (zmq_msg_t *msg_, int flags_); private: diff --git a/src/req.cpp b/src/req.cpp index 3fd9b380..63409ce2 100644 --- a/src/req.cpp +++ b/src/req.cpp @@ -115,7 +115,7 @@ int zmq::req_t::xsetsockopt (int option_, const void *optval_, return -1; } -int zmq::req_t::xsend (struct zmq_msg_t *msg_, int flags_) +int zmq::req_t::xsend (zmq_msg_t *msg_, int flags_) { // If we've sent a request and we still haven't got the reply, // we can't send another request. @@ -170,7 +170,7 @@ int zmq::req_t::xflush () return -1; } -int zmq::req_t::xrecv (struct zmq_msg_t *msg_, int flags_) +int zmq::req_t::xrecv (zmq_msg_t *msg_, int flags_) { // Deallocate old content of the message. zmq_msg_close (msg_); diff --git a/src/req.hpp b/src/req.hpp index 95ddf0d3..3ae78fd8 100644 --- a/src/req.hpp +++ b/src/req.hpp @@ -40,9 +40,9 @@ namespace zmq void xkill (class reader_t *pipe_); void xrevive (class reader_t *pipe_); int xsetsockopt (int option_, const void *optval_, size_t optvallen_); - int xsend (struct zmq_msg_t *msg_, int flags_); + int xsend (zmq_msg_t *msg_, int flags_); int xflush (); - int xrecv (struct zmq_msg_t *msg_, int flags_); + int xrecv (zmq_msg_t *msg_, int flags_); private: diff --git a/src/socket_base.hpp b/src/socket_base.hpp index bba27c35..c54efaec 100644 --- a/src/socket_base.hpp +++ b/src/socket_base.hpp @@ -25,6 +25,8 @@ #include #include +#include "../bindings/c/zmq.h" + #include "i_endpoint.hpp" #include "object.hpp" #include "yarray_item.hpp" @@ -47,9 +49,9 @@ namespace zmq size_t optvallen_); int bind (const char *addr_); int connect (const char *addr_); - int send (struct zmq_msg_t *msg_, int flags_); + int send (zmq_msg_t *msg_, int flags_); int flush (); - int recv (struct zmq_msg_t *msg_, int flags_); + int recv (zmq_msg_t *msg_, int flags_); int close (); // The list of sessions cannot be accessed via inter-thread @@ -83,9 +85,9 @@ namespace zmq // Actual algorithms are to be defined by individual socket types. virtual int xsetsockopt (int option_, const void *optval_, size_t optvallen_) = 0; - virtual int xsend (struct zmq_msg_t *msg_, int options_) = 0; + virtual int xsend (zmq_msg_t *msg_, int options_) = 0; virtual int xflush () = 0; - virtual int xrecv (struct zmq_msg_t *msg_, int options_) = 0; + virtual int xrecv (zmq_msg_t *msg_, int options_) = 0; // Socket options. options_t options; diff --git a/src/sub.cpp b/src/sub.cpp index abd9deb3..1bfbcd5f 100644 --- a/src/sub.cpp +++ b/src/sub.cpp @@ -122,7 +122,7 @@ int zmq::sub_t::xsetsockopt (int option_, const void *optval_, return -1; } -int zmq::sub_t::xsend (struct zmq_msg_t *msg_, int flags_) +int zmq::sub_t::xsend (zmq_msg_t *msg_, int flags_) { errno = ENOTSUP; return -1; @@ -134,7 +134,7 @@ int zmq::sub_t::xflush () return -1; } -int zmq::sub_t::xrecv (struct zmq_msg_t *msg_, int flags_) +int zmq::sub_t::xrecv (zmq_msg_t *msg_, int flags_) { while (true) { diff --git a/src/sub.hpp b/src/sub.hpp index 180391d4..86919286 100644 --- a/src/sub.hpp +++ b/src/sub.hpp @@ -45,15 +45,15 @@ namespace zmq void xkill (class reader_t *pipe_); void xrevive (class reader_t *pipe_); int xsetsockopt (int option_, const void *optval_, size_t optvallen_); - int xsend (struct zmq_msg_t *msg_, int flags_); + int xsend (zmq_msg_t *msg_, int flags_); int xflush (); - int xrecv (struct zmq_msg_t *msg_, int flags_); + int xrecv (zmq_msg_t *msg_, int flags_); private: // Helper function to return one message choosed using // fair queueing algorithm. - int fq (struct zmq_msg_t *msg_, int flags_); + int fq (zmq_msg_t *msg_, int flags_); // Inbound pipes, i.e. those the socket is getting messages from. typedef yarray_t in_pipes_t;