mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-15 14:50:39 +01:00
Move implementation of PacketTransportInternal::RegisterReceivedPacketCallback
Moved to cc file to fix link issue when linking with dynamic library (crd). Bug: webrtc:15368 Change-Id: I51cefcd439fda93d1135fcffa75198ab680e8583 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/340302 Reviewed-by: Jonas Oreland <jonaso@google.com> Commit-Queue: Per Kjellander <perkj@webrtc.org> Cr-Commit-Position: refs/heads/main@{#41801}
This commit is contained in:
parent
d0491a3431
commit
a021d99d2a
3 changed files with 25 additions and 10 deletions
|
@ -637,7 +637,10 @@ rtc_library("packet_transport_internal") {
|
||||||
"../rtc_base/system:rtc_export",
|
"../rtc_base/system:rtc_export",
|
||||||
"../rtc_base/third_party/sigslot",
|
"../rtc_base/third_party/sigslot",
|
||||||
]
|
]
|
||||||
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
|
absl_deps = [
|
||||||
|
"//third_party/abseil-cpp/absl/functional:any_invocable",
|
||||||
|
"//third_party/abseil-cpp/absl/types:optional",
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
rtc_library("port") {
|
rtc_library("port") {
|
||||||
|
|
|
@ -27,6 +27,19 @@ absl::optional<NetworkRoute> PacketTransportInternal::network_route() const {
|
||||||
return absl::optional<NetworkRoute>();
|
return absl::optional<NetworkRoute>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PacketTransportInternal::RegisterReceivedPacketCallback(
|
||||||
|
void* id,
|
||||||
|
absl::AnyInvocable<void(PacketTransportInternal*,
|
||||||
|
const rtc::ReceivedPacket&)> callback) {
|
||||||
|
RTC_DCHECK_RUN_ON(&network_checker_);
|
||||||
|
received_packet_callback_list_.AddReceiver(id, std::move(callback));
|
||||||
|
}
|
||||||
|
|
||||||
|
void PacketTransportInternal::DeregisterReceivedPacketCallback(void* id) {
|
||||||
|
RTC_DCHECK_RUN_ON(&network_checker_);
|
||||||
|
received_packet_callback_list_.RemoveReceivers(id);
|
||||||
|
}
|
||||||
|
|
||||||
void PacketTransportInternal::NotifyPacketReceived(
|
void PacketTransportInternal::NotifyPacketReceived(
|
||||||
const rtc::ReceivedPacket& packet) {
|
const rtc::ReceivedPacket& packet) {
|
||||||
RTC_DCHECK_RUN_ON(&network_checker_);
|
RTC_DCHECK_RUN_ON(&network_checker_);
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
#include <utility>
|
#include <utility>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
#include "absl/functional/any_invocable.h"
|
||||||
#include "absl/types/optional.h"
|
#include "absl/types/optional.h"
|
||||||
#include "p2p/base/port.h"
|
#include "p2p/base/port.h"
|
||||||
#include "rtc_base/async_packet_socket.h"
|
#include "rtc_base/async_packet_socket.h"
|
||||||
|
@ -81,15 +82,13 @@ class RTC_EXPORT PacketTransportInternal : public sigslot::has_slots<> {
|
||||||
// Emitted when receiving state changes to true.
|
// Emitted when receiving state changes to true.
|
||||||
sigslot::signal1<PacketTransportInternal*> SignalReceivingState;
|
sigslot::signal1<PacketTransportInternal*> SignalReceivingState;
|
||||||
|
|
||||||
template <typename F>
|
// Callback is invoked each time a packet is received on this channel.
|
||||||
void RegisterReceivedPacketCallback(void* id, F&& callback) {
|
void RegisterReceivedPacketCallback(
|
||||||
RTC_DCHECK_RUN_ON(&network_checker_);
|
void* id,
|
||||||
received_packet_callback_list_.AddReceiver(id, std::forward<F>(callback));
|
absl::AnyInvocable<void(PacketTransportInternal*,
|
||||||
}
|
const rtc::ReceivedPacket&)> callback);
|
||||||
void DeregisterReceivedPacketCallback(void* id) {
|
|
||||||
RTC_DCHECK_RUN_ON(&network_checker_);
|
void DeregisterReceivedPacketCallback(void* id);
|
||||||
received_packet_callback_list_.RemoveReceivers(id);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Signalled each time a packet is received on this channel.
|
// Signalled each time a packet is received on this channel.
|
||||||
// TODO(bugs.webrtc.org:15368): Deprecate and remove. Replace with
|
// TODO(bugs.webrtc.org:15368): Deprecate and remove. Replace with
|
||||||
|
|
Loading…
Reference in a new issue