Convert StreamInterfaceChannel to new API
Bug: webrtc:14632 Change-Id: I5c78fe6903680c65efde5d09a8988b97256a22ad Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/283526 Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org> Commit-Queue: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38642}
This commit is contained in:
committed by
WebRTC LUCI CQ
parent
7ccd88f3e5
commit
e844aad41a
@ -72,10 +72,9 @@ StreamInterfaceChannel::StreamInterfaceChannel(
|
|||||||
state_(rtc::SS_OPEN),
|
state_(rtc::SS_OPEN),
|
||||||
packets_(kMaxPendingPackets, kMaxDtlsPacketLen) {}
|
packets_(kMaxPendingPackets, kMaxDtlsPacketLen) {}
|
||||||
|
|
||||||
rtc::StreamResult StreamInterfaceChannel::Read(void* buffer,
|
rtc::StreamResult StreamInterfaceChannel::Read(rtc::ArrayView<uint8_t> buffer,
|
||||||
size_t buffer_len,
|
size_t& read,
|
||||||
size_t* read,
|
int& error) {
|
||||||
int* error) {
|
|
||||||
RTC_DCHECK_RUN_ON(&sequence_checker_);
|
RTC_DCHECK_RUN_ON(&sequence_checker_);
|
||||||
|
|
||||||
if (state_ == rtc::SS_CLOSED)
|
if (state_ == rtc::SS_CLOSED)
|
||||||
@ -83,27 +82,25 @@ rtc::StreamResult StreamInterfaceChannel::Read(void* buffer,
|
|||||||
if (state_ == rtc::SS_OPENING)
|
if (state_ == rtc::SS_OPENING)
|
||||||
return rtc::SR_BLOCK;
|
return rtc::SR_BLOCK;
|
||||||
|
|
||||||
if (!packets_.ReadFront(buffer, buffer_len, read)) {
|
if (!packets_.ReadFront(buffer.data(), buffer.size(), &read)) {
|
||||||
return rtc::SR_BLOCK;
|
return rtc::SR_BLOCK;
|
||||||
}
|
}
|
||||||
|
|
||||||
return rtc::SR_SUCCESS;
|
return rtc::SR_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
rtc::StreamResult StreamInterfaceChannel::Write(const void* data,
|
rtc::StreamResult StreamInterfaceChannel::Write(
|
||||||
size_t data_len,
|
rtc::ArrayView<const uint8_t> data,
|
||||||
size_t* written,
|
size_t& written,
|
||||||
int* error) {
|
int& error) {
|
||||||
RTC_DCHECK_RUN_ON(&sequence_checker_);
|
RTC_DCHECK_RUN_ON(&sequence_checker_);
|
||||||
// Always succeeds, since this is an unreliable transport anyway.
|
// Always succeeds, since this is an unreliable transport anyway.
|
||||||
// TODO(zhihuang): Should this block if ice_transport_'s temporarily
|
// TODO(zhihuang): Should this block if ice_transport_'s temporarily
|
||||||
// unwritable?
|
// unwritable?
|
||||||
rtc::PacketOptions packet_options;
|
rtc::PacketOptions packet_options;
|
||||||
ice_transport_->SendPacket(static_cast<const char*>(data), data_len,
|
ice_transport_->SendPacket(reinterpret_cast<const char*>(data.data()),
|
||||||
packet_options);
|
data.size(), packet_options);
|
||||||
if (written) {
|
written = data.size();
|
||||||
*written = data_len;
|
|
||||||
}
|
|
||||||
return rtc::SR_SUCCESS;
|
return rtc::SR_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -49,14 +49,12 @@ class StreamInterfaceChannel : public rtc::StreamInterface {
|
|||||||
// Implementations of StreamInterface
|
// Implementations of StreamInterface
|
||||||
rtc::StreamState GetState() const override;
|
rtc::StreamState GetState() const override;
|
||||||
void Close() override;
|
void Close() override;
|
||||||
rtc::StreamResult Read(void* buffer,
|
rtc::StreamResult Read(rtc::ArrayView<uint8_t> buffer,
|
||||||
size_t buffer_len,
|
size_t& read,
|
||||||
size_t* read,
|
int& error) override;
|
||||||
int* error) override;
|
rtc::StreamResult Write(rtc::ArrayView<const uint8_t> data,
|
||||||
rtc::StreamResult Write(const void* data,
|
size_t& written,
|
||||||
size_t data_len,
|
int& error) override;
|
||||||
size_t* written,
|
|
||||||
int* error) override;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
RTC_NO_UNIQUE_ADDRESS webrtc::SequenceChecker sequence_checker_;
|
RTC_NO_UNIQUE_ADDRESS webrtc::SequenceChecker sequence_checker_;
|
||||||
|
|||||||
Reference in New Issue
Block a user