0
0
mirror of https://github.com/zeromq/libzmq.git synced 2024-12-26 23:01:04 +08:00

ZMQII-16: Change "struct zmq_msg_t" to "zmq_msg_t" in C binding

This commit is contained in:
Martin Sustrik 2009-09-23 10:22:54 +02:00
parent 3bd8f83f6d
commit 088a2db674
18 changed files with 46 additions and 44 deletions

View File

@ -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.

View File

@ -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 <bind-to> <message-size> "

View File

@ -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;

View File

@ -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;

View File

@ -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 <connect-to> <message-size> "

View File

@ -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;

View File

@ -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:

View File

@ -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;

View File

@ -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 ();

View File

@ -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;

View File

@ -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:

View File

@ -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_);

View File

@ -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:

View File

@ -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_);

View File

@ -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:

View File

@ -25,6 +25,8 @@
#include <vector>
#include <string>
#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;

View File

@ -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) {

View File

@ -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 <class reader_t> in_pipes_t;