mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-12 21:30:45 +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/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") {
|
||||
|
|
|
@ -27,6 +27,19 @@ absl::optional<NetworkRoute> PacketTransportInternal::network_route() const {
|
|||
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(
|
||||
const rtc::ReceivedPacket& packet) {
|
||||
RTC_DCHECK_RUN_ON(&network_checker_);
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
#include "absl/functional/any_invocable.h"
|
||||
#include "absl/types/optional.h"
|
||||
#include "p2p/base/port.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.
|
||||
sigslot::signal1<PacketTransportInternal*> SignalReceivingState;
|
||||
|
||||
template <typename F>
|
||||
void RegisterReceivedPacketCallback(void* id, F&& callback) {
|
||||
RTC_DCHECK_RUN_ON(&network_checker_);
|
||||
received_packet_callback_list_.AddReceiver(id, std::forward<F>(callback));
|
||||
}
|
||||
void DeregisterReceivedPacketCallback(void* id) {
|
||||
RTC_DCHECK_RUN_ON(&network_checker_);
|
||||
received_packet_callback_list_.RemoveReceivers(id);
|
||||
}
|
||||
// Callback is invoked each time a packet is received on this channel.
|
||||
void RegisterReceivedPacketCallback(
|
||||
void* id,
|
||||
absl::AnyInvocable<void(PacketTransportInternal*,
|
||||
const rtc::ReceivedPacket&)> callback);
|
||||
|
||||
void DeregisterReceivedPacketCallback(void* id);
|
||||
|
||||
// Signalled each time a packet is received on this channel.
|
||||
// TODO(bugs.webrtc.org:15368): Deprecate and remove. Replace with
|
||||
|
|
Loading…
Reference in a new issue