Loading system/vendor_libs/test_vendor_lib/model/devices/device.cc +10 −0 Original line number Diff line number Diff line Loading @@ -74,6 +74,16 @@ void Device::SendLinkLayerPacket(model::packets::LinkLayerPacketView to_send, } } void Device::Close() { if (close_callback_) { close_callback_(); } } void Device::RegisterCloseCallback(std::function<void()> close_callback) { close_callback_ = close_callback; } void Device::SetAddress(Address) { LOG_INFO("%s does not implement %s", GetTypeString().c_str(), __func__); } Loading system/vendor_libs/test_vendor_lib/model/devices/device.h +8 −0 Original line number Diff line number Diff line Loading @@ -85,6 +85,11 @@ class Device { virtual void SendLinkLayerPacket(model::packets::LinkLayerPacketView packet, Phy::Type phy_type); virtual void Close(); void RegisterCloseCallback(std::function<void()>); protected: std::vector<std::shared_ptr<PhyLayer>> phy_layers_; Loading @@ -98,6 +103,9 @@ class Device { std::chrono::milliseconds advertising_interval_ms_{}; DeviceProperties properties_; // Callback to be invoked when this device is closed. std::function<void()> close_callback_; }; } // namespace test_vendor_lib system/vendor_libs/test_vendor_lib/model/devices/hci_socket_device.cc +6 −5 Original line number Diff line number Diff line Loading @@ -98,7 +98,7 @@ HciSocketDevice::HciSocketDevice(std::shared_ptr<AsyncDataChannel> socket) }, [this]() { LOG_INFO("HCI socket device disconnected"); close_callback_(); Close(); }); RegisterEventChannel([this](std::shared_ptr<std::vector<uint8_t>> packet) { Loading Loading @@ -132,11 +132,12 @@ void HciSocketDevice::SendHci( h4_.Send(type, packet->data(), packet->size()); } void HciSocketDevice::RegisterCloseCallback( std::function<void()> close_callback) { if (socket_ && socket_->Connected()) { close_callback_ = close_callback; void HciSocketDevice::Close() { if (socket_) { socket_->Close(); } Device::Close(); } } // namespace test_vendor_lib system/vendor_libs/test_vendor_lib/model/devices/hci_socket_device.h +3 −5 Original line number Diff line number Diff line Loading @@ -41,16 +41,16 @@ class HciSocketDevice : public DualModeController { return std::make_shared<HciSocketDevice>(socket); } virtual std::string GetTypeString() const override { std::string GetTypeString() const override { return "hci_socket_device"; } virtual void TimerTick() override; void TimerTick() override; void SendHci(PacketType packet_type, const std::shared_ptr<std::vector<uint8_t>> packet); void RegisterCloseCallback(std::function<void()>); void Close() override; private: std::shared_ptr<AsyncDataChannel> socket_; Loading @@ -61,8 +61,6 @@ class HciSocketDevice : public DualModeController { [](const std::vector<uint8_t>&) {}, [](const std::vector<uint8_t>&) {}, [] {}}; std::function<void()> close_callback_; }; } // namespace test_vendor_lib system/vendor_libs/test_vendor_lib/model/devices/link_layer_socket_device.cc +20 −2 Original line number Diff line number Diff line Loading @@ -41,9 +41,14 @@ void LinkLayerSocketDevice::TimerTick() { ssize_t bytes_received = socket_->Recv(size_bytes_->data() + offset_, kSizeBytes); if (bytes_received <= 0) { if (errno == EAGAIN || errno == EWOULDBLOCK) { // Nothing available yet. // LOG_DEBUG("Nothing available yet..."); return; } LOG_INFO("Closing socket, received: %zd, %s", bytes_received, strerror(errno)); socket_->Close(); Close(); return; } if (bytes_received < bytes_left_) { Loading @@ -61,9 +66,14 @@ void LinkLayerSocketDevice::TimerTick() { ssize_t bytes_received = socket_->Recv(received_->data() + offset_, bytes_left_); if (bytes_received <= 0) { if (errno == EAGAIN || errno == EWOULDBLOCK) { // Nothing available yet. // LOG_DEBUG("Nothing available yet..."); return; } LOG_INFO("Closing socket, received: %zd, %s", bytes_received, strerror(errno)); socket_->Close(); Close(); return; } if (bytes_received < bytes_left_) { Loading @@ -81,6 +91,14 @@ void LinkLayerSocketDevice::TimerTick() { SendLinkLayerPacket(packet, phy_type_); } void LinkLayerSocketDevice::Close() { if (socket_) { socket_->Close(); } Device::Close(); } void LinkLayerSocketDevice::IncomingPacket( model::packets::LinkLayerPacketView packet) { auto size_packet = bluetooth::packet::RawBuilder(); Loading Loading
system/vendor_libs/test_vendor_lib/model/devices/device.cc +10 −0 Original line number Diff line number Diff line Loading @@ -74,6 +74,16 @@ void Device::SendLinkLayerPacket(model::packets::LinkLayerPacketView to_send, } } void Device::Close() { if (close_callback_) { close_callback_(); } } void Device::RegisterCloseCallback(std::function<void()> close_callback) { close_callback_ = close_callback; } void Device::SetAddress(Address) { LOG_INFO("%s does not implement %s", GetTypeString().c_str(), __func__); } Loading
system/vendor_libs/test_vendor_lib/model/devices/device.h +8 −0 Original line number Diff line number Diff line Loading @@ -85,6 +85,11 @@ class Device { virtual void SendLinkLayerPacket(model::packets::LinkLayerPacketView packet, Phy::Type phy_type); virtual void Close(); void RegisterCloseCallback(std::function<void()>); protected: std::vector<std::shared_ptr<PhyLayer>> phy_layers_; Loading @@ -98,6 +103,9 @@ class Device { std::chrono::milliseconds advertising_interval_ms_{}; DeviceProperties properties_; // Callback to be invoked when this device is closed. std::function<void()> close_callback_; }; } // namespace test_vendor_lib
system/vendor_libs/test_vendor_lib/model/devices/hci_socket_device.cc +6 −5 Original line number Diff line number Diff line Loading @@ -98,7 +98,7 @@ HciSocketDevice::HciSocketDevice(std::shared_ptr<AsyncDataChannel> socket) }, [this]() { LOG_INFO("HCI socket device disconnected"); close_callback_(); Close(); }); RegisterEventChannel([this](std::shared_ptr<std::vector<uint8_t>> packet) { Loading Loading @@ -132,11 +132,12 @@ void HciSocketDevice::SendHci( h4_.Send(type, packet->data(), packet->size()); } void HciSocketDevice::RegisterCloseCallback( std::function<void()> close_callback) { if (socket_ && socket_->Connected()) { close_callback_ = close_callback; void HciSocketDevice::Close() { if (socket_) { socket_->Close(); } Device::Close(); } } // namespace test_vendor_lib
system/vendor_libs/test_vendor_lib/model/devices/hci_socket_device.h +3 −5 Original line number Diff line number Diff line Loading @@ -41,16 +41,16 @@ class HciSocketDevice : public DualModeController { return std::make_shared<HciSocketDevice>(socket); } virtual std::string GetTypeString() const override { std::string GetTypeString() const override { return "hci_socket_device"; } virtual void TimerTick() override; void TimerTick() override; void SendHci(PacketType packet_type, const std::shared_ptr<std::vector<uint8_t>> packet); void RegisterCloseCallback(std::function<void()>); void Close() override; private: std::shared_ptr<AsyncDataChannel> socket_; Loading @@ -61,8 +61,6 @@ class HciSocketDevice : public DualModeController { [](const std::vector<uint8_t>&) {}, [](const std::vector<uint8_t>&) {}, [] {}}; std::function<void()> close_callback_; }; } // namespace test_vendor_lib
system/vendor_libs/test_vendor_lib/model/devices/link_layer_socket_device.cc +20 −2 Original line number Diff line number Diff line Loading @@ -41,9 +41,14 @@ void LinkLayerSocketDevice::TimerTick() { ssize_t bytes_received = socket_->Recv(size_bytes_->data() + offset_, kSizeBytes); if (bytes_received <= 0) { if (errno == EAGAIN || errno == EWOULDBLOCK) { // Nothing available yet. // LOG_DEBUG("Nothing available yet..."); return; } LOG_INFO("Closing socket, received: %zd, %s", bytes_received, strerror(errno)); socket_->Close(); Close(); return; } if (bytes_received < bytes_left_) { Loading @@ -61,9 +66,14 @@ void LinkLayerSocketDevice::TimerTick() { ssize_t bytes_received = socket_->Recv(received_->data() + offset_, bytes_left_); if (bytes_received <= 0) { if (errno == EAGAIN || errno == EWOULDBLOCK) { // Nothing available yet. // LOG_DEBUG("Nothing available yet..."); return; } LOG_INFO("Closing socket, received: %zd, %s", bytes_received, strerror(errno)); socket_->Close(); Close(); return; } if (bytes_received < bytes_left_) { Loading @@ -81,6 +91,14 @@ void LinkLayerSocketDevice::TimerTick() { SendLinkLayerPacket(packet, phy_type_); } void LinkLayerSocketDevice::Close() { if (socket_) { socket_->Close(); } Device::Close(); } void LinkLayerSocketDevice::IncomingPacket( model::packets::LinkLayerPacketView packet) { auto size_packet = bluetooth::packet::RawBuilder(); Loading