USRP Hardware Driver and USRP Manual  Version: 003.010.003.HEAD-0-gef157678
UHD and USRP Manual
zero_copy_flow_ctrl.hpp
Go to the documentation of this file.
1 //
2 // Copyright 2017 Ettus Research
3 //
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13 //
14 // You should have received a copy of the GNU General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
16 //
17 
18 #ifndef INCLUDED_ZERO_COPY_FLOW_CTRL_HPP
19 #define INCLUDED_ZERO_COPY_FLOW_CTRL_HPP
20 
21 #include <uhd/config.hpp>
23 #include <boost/function.hpp>
24 #include <boost/shared_ptr.hpp>
25 
26 namespace uhd{ namespace transport{
27 
33 typedef boost::function<bool(managed_buffer::sptr buff)> flow_ctrl_func;
34 
38 class UHD_API zero_copy_flow_ctrl : public virtual zero_copy_if {
39 public:
40  typedef boost::shared_ptr<zero_copy_flow_ctrl> sptr;
41 
49  static sptr make(
50  zero_copy_if::sptr transport,
51  flow_ctrl_func send_flow_ctrl,
52  flow_ctrl_func recv_flow_ctrl
53  );
54 };
55 
56 }} //namespace
57 
58 #endif /* INCLUDED_ZERO_COPY_FLOW_CTRL_HPP */
Definition: zero_copy_flow_ctrl.hpp:38
boost::shared_ptr< zero_copy_if > sptr
Definition: zero_copy.hpp:154
Definition: build_info.hpp:25
boost::function< bool(managed_buffer::sptr buff)> flow_ctrl_func
Definition: zero_copy_flow_ctrl.hpp:33
#define UHD_API
Definition: config.h:73
Definition: zero_copy.hpp:152
boost::shared_ptr< zero_copy_flow_ctrl > sptr
Definition: zero_copy_flow_ctrl.hpp:40