aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rfspace/rfspace_source_c.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rfspace/rfspace_source_c.h')
-rw-r--r--lib/rfspace/rfspace_source_c.h31
1 files changed, 23 insertions, 8 deletions
diff --git a/lib/rfspace/rfspace_source_c.h b/lib/rfspace/rfspace_source_c.h
index d2bf66d..c656063 100644
--- a/lib/rfspace/rfspace_source_c.h
+++ b/lib/rfspace/rfspace_source_c.h
@@ -20,17 +20,25 @@
#ifndef INCLUDED_RFSPACE_SOURCE_C_H
#define INCLUDED_RFSPACE_SOURCE_C_H
+//#define USE_ASIO
+
+#ifdef USE_ASIO
+#include <boost/asio.hpp>
+#endif
#include <gnuradio/thread/thread.h>
#include <gnuradio/block.h>
#include <gnuradio/sync_block.h>
#include <boost/circular_buffer.hpp>
-
-#include <mutex>
-#include <condition_variable>
+#include <boost/thread/mutex.hpp>
+#include <boost/thread/condition_variable.hpp>
#include "osmosdr/ranges.h"
#include "source_iface.h"
+#ifdef USE_ASIO
+using boost::asio::ip::tcp;
+using boost::asio::ip::udp;
+#endif
class rfspace_source_c;
#ifndef SOCKET
@@ -135,8 +143,15 @@ private: /* members */
radio_type _radio;
+#ifdef USE_ASIO
+ boost::asio::io_service _io_service;
+ tcp::resolver _resolver;
+ tcp::socket _t;
+ udp::socket _u;
+#else
SOCKET _tcp;
SOCKET _udp;
+#endif
int _usb;
bool _running;
bool _keep_running;
@@ -149,15 +164,15 @@ private: /* members */
gr::thread::thread _thread;
bool _run_usb_read_task;
bool _run_tcp_keepalive_task;
- std::mutex _tcp_lock;
+ boost::mutex _tcp_lock;
boost::circular_buffer<gr_complex> *_fifo;
- std::mutex _fifo_lock;
- std::condition_variable _samp_avail;
+ boost::mutex _fifo_lock;
+ boost::condition_variable _samp_avail;
std::vector< unsigned char > _resp;
- std::mutex _resp_lock;
- std::condition_variable _resp_avail;
+ boost::mutex _resp_lock;
+ boost::condition_variable _resp_avail;
};
#endif /* INCLUDED_RFSPACE_SOURCE_C_H */