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/api.h>
29
#include <gruel/pmt.h>
30
#include <gruel/msg_accepter.h>
36
* \brief send message to msg_accepter
38
* \param accepter is the target of the send.
39
* \param msg is the message to send. It's usually a pmt tuple.
41
* Sending a message is an asynchronous operation. The \p send
42
* call will not wait for the message either to arrive at the
43
* destination or to be received.
47
static inline pmt::pmt_t
48
send(msg_accepter_sptr accepter, const pmt::pmt_t &msg)
55
* \brief send message to msg_accepter
57
* \param accepter is the target of the send.
58
* \param msg is the message to send. It's usually a pmt tuple.
60
* Sending a message is an asynchronous operation. The \p send
61
* call will not wait for the message either to arrive at the
62
* destination or to be received.
66
static inline pmt::pmt_t
67
send(msg_accepter *accepter, const pmt::pmt_t &msg)
74
* \brief send message to msg_accepter
76
* \param accepter is the target of the send.
77
* \param msg is the message to send. It's usually a pmt tuple.
79
* Sending a message is an asynchronous operation. The \p send
80
* call will not wait for the message either to arrive at the
81
* destination or to be received.
85
static inline pmt::pmt_t
86
send(msg_accepter &accepter, const pmt::pmt_t &msg)
93
* \brief send message to msg_accepter
95
* \param accepter is the target of the send. precond: pmt_is_msg_accepter(accepter)
96
* \param msg is the message to send. It's usually a pmt tuple.
98
* Sending a message is an asynchronous operation. The \p send
99
* call will not wait for the message either to arrive at the
100
* destination or to be received.
104
static inline pmt::pmt_t
105
send(pmt::pmt_t accepter, const pmt::pmt_t &msg)
107
return send(pmt_msg_accepter_ref(accepter), msg);
110
} /* namespace gruel */
112
#endif /* INCLUDED_GRUEL_MSG_PASSING_H */