3 * Copyright 2009 Free Software Foundation, Inc.
5 * This file is part of GNU Radio
7 * GNU Radio is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 3, or (at your option)
12 * GNU Radio is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License along
18 * with this program; if not, write to the Free Software Foundation, Inc.,
19 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21 #ifndef INCLUDED_GRUEL_MSG_PASSING_H
22 #define INCLUDED_GRUEL_MSG_PASSING_H
25 * \brief Include this header to use the message passing features
28 #include <gruel/pmt.h>
29 #include <gruel/msg_accepter.h>
35 * \brief send message to msg_accepter
37 * \param accepter is the target of the send.
38 * \param msg is the message to send. It's usually a pmt tuple.
40 * Sending a message is an asynchronous operation. The \p send
41 * call will not wait for the message either to arrive at the
42 * destination or to be received.
46 static inline pmt::pmt_t
47 send(msg_accepter_sptr accepter, const pmt::pmt_t &msg)
49 return accepter->post(msg);
53 * \brief send message to msg_accepter
55 * \param accepter is the target of the send.
56 * \param msg is the message to send. It's usually a pmt tuple.
58 * Sending a message is an asynchronous operation. The \p send
59 * call will not wait for the message either to arrive at the
60 * destination or to be received.
64 static inline pmt::pmt_t
65 send(msg_accepter &accepter, const pmt::pmt_t &msg)
67 return accepter.post(msg);
71 * \brief send message to msg_accepter
73 * \param accepter is the target of the send. precond: pmt_is_msg_accepter(accepter)
74 * \param msg is the message to send. It's usually a pmt tuple.
76 * Sending a message is an asynchronous operation. The \p send
77 * call will not wait for the message either to arrive at the
78 * destination or to be received.
83 send(const pmt_t &accepter, const pmt::pmt_t &msg);
86 } /* namespace gruel */
88 #endif /* INCLUDED_GRUEL_MSG_PASSING_H */