USRP Hardware Driver and USRP Manual  Version: 3.11.0.HEAD-0-gdca39145
UHD and USRP Manual
udp_simple.hpp
Go to the documentation of this file.
1 //
2 // Copyright 2010,2014 Ettus Research LLC
3 //
4 // SPDX-License-Identifier: GPL-3.0
5 //
6 
7 #ifndef INCLUDED_UHD_TRANSPORT_UDP_SIMPLE_HPP
8 #define INCLUDED_UHD_TRANSPORT_UDP_SIMPLE_HPP
9 
10 #include <uhd/config.hpp>
11 #include <uhd/types/serial.hpp>
12 #include <boost/asio/buffer.hpp>
13 #include <boost/utility.hpp>
14 #include <boost/shared_ptr.hpp>
15 
16 namespace uhd{ namespace transport{
17 
18 class UHD_API udp_simple : boost::noncopyable{
19 public:
20  typedef boost::shared_ptr<udp_simple> sptr;
21 
22  virtual ~udp_simple(void) = 0;
23 
25  static const size_t mtu = 1500 - 20 - 8; //default ipv4 mtu - ipv4 header - udp header
26 
40  static sptr make_connected(const std::string &addr, const std::string &port);
41 
54  static sptr make_broadcast(const std::string &addr, const std::string &port);
55 
61  static uart_iface::sptr make_uart(sptr udp);
62 
69  virtual size_t send(const boost::asio::const_buffer &buff) = 0;
70 
78  virtual size_t recv(const boost::asio::mutable_buffer &buff, double timeout = 0.1) = 0;
79 
84  virtual std::string get_recv_addr(void) = 0;
85 
89  virtual std::string get_send_addr(void) = 0;
90 };
91 
92 }} //namespace
93 
94 #endif /* INCLUDED_UHD_TRANSPORT_UDP_SIMPLE_HPP */
Definition: udp_simple.hpp:18
Definition: build_info.hpp:14
#define UHD_API
Definition: config.h:62
boost::shared_ptr< uart_iface > sptr
Definition: serial.hpp:185
boost::shared_ptr< udp_simple > sptr
Definition: udp_simple.hpp:20