summaryrefslogtreecommitdiffstats
path: root/host/lib/transport
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2011-02-05 12:44:23 -0800
committerJosh Blum <josh@joshknows.com>2011-02-05 12:44:23 -0800
commitba2523fca4ee9bb0336a3fd8e7e7571c344e37f3 (patch)
treed3d24b5f89f0a8c118cb83be9b9046b2ca81c6b0 /host/lib/transport
parent5d10aa397f044ea6781b4977c14171abfb4a727d (diff)
downloaduhd-ba2523fca4ee9bb0336a3fd8e7e7571c344e37f3.tar.gz
uhd-ba2523fca4ee9bb0336a3fd8e7e7571c344e37f3.tar.bz2
uhd-ba2523fca4ee9bb0336a3fd8e7e7571c344e37f3.zip
uhd: removed instances of shared_from_this() in transports
Its known to be slow and using sptrs of large objects. This should be a slight performance improvement for libusb and usrp_e100_mmap implementation.
Diffstat (limited to 'host/lib/transport')
-rwxr-xr-x[-rw-r--r--]host/lib/transport/gen_vrt_if_packet.py0
-rw-r--r--host/lib/transport/libusb1_zero_copy.cpp7
2 files changed, 3 insertions, 4 deletions
diff --git a/host/lib/transport/gen_vrt_if_packet.py b/host/lib/transport/gen_vrt_if_packet.py
index 3ba562d68..3ba562d68 100644..100755
--- a/host/lib/transport/gen_vrt_if_packet.py
+++ b/host/lib/transport/gen_vrt_if_packet.py
diff --git a/host/lib/transport/libusb1_zero_copy.cpp b/host/lib/transport/libusb1_zero_copy.cpp
index d4c82617c..5ae6db39e 100644
--- a/host/lib/transport/libusb1_zero_copy.cpp
+++ b/host/lib/transport/libusb1_zero_copy.cpp
@@ -23,7 +23,6 @@
#include <uhd/utils/assert.hpp>
#include <boost/foreach.hpp>
#include <boost/thread.hpp>
-#include <boost/enable_shared_from_this.hpp>
#include <vector>
#include <iostream>
@@ -279,7 +278,7 @@ libusb_transfer *usb_endpoint::get_lut_with_wait(double timeout){
/***********************************************************************
* USB zero_copy device class
**********************************************************************/
-class libusb_zero_copy_impl : public usb_zero_copy, public boost::enable_shared_from_this<libusb_zero_copy_impl> {
+class libusb_zero_copy_impl : public usb_zero_copy{
public:
libusb_zero_copy_impl(
@@ -400,7 +399,7 @@ managed_recv_buffer::sptr libusb_zero_copy_impl::get_recv_buff(double timeout){
else {
return managed_recv_buffer::make_safe(
boost::asio::const_buffer(lut->buffer, lut->actual_length),
- boost::bind(&libusb_zero_copy_impl::release, shared_from_this(), lut)
+ boost::bind(&libusb_zero_copy_impl::release, this, lut)
);
}
}
@@ -420,7 +419,7 @@ managed_send_buffer::sptr libusb_zero_copy_impl::get_send_buff(double timeout){
else {
return managed_send_buffer::make_safe(
boost::asio::mutable_buffer(lut->buffer, this->get_send_frame_size()),
- boost::bind(&libusb_zero_copy_impl::commit, shared_from_this(), lut, _1)
+ boost::bind(&libusb_zero_copy_impl::commit, this, lut, _1)
);
}
}