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),
|
||||
packets_(kMaxPendingPackets, kMaxDtlsPacketLen) {}
|
||||
|
||||
rtc::StreamResult StreamInterfaceChannel::Read(void* buffer,
|
||||
size_t buffer_len,
|
||||
size_t* read,
|
||||
int* error) {
|
||||
rtc::StreamResult StreamInterfaceChannel::Read(rtc::ArrayView<uint8_t> buffer,
|
||||
size_t& read,
|
||||
int& error) {
|
||||
RTC_DCHECK_RUN_ON(&sequence_checker_);
|
||||
|
||||
if (state_ == rtc::SS_CLOSED)
|
||||
@ -83,27 +82,25 @@ rtc::StreamResult StreamInterfaceChannel::Read(void* buffer,
|
||||
if (state_ == rtc::SS_OPENING)
|
||||
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_SUCCESS;
|
||||
}
|
||||
|
||||
rtc::StreamResult StreamInterfaceChannel::Write(const void* data,
|
||||
size_t data_len,
|
||||
size_t* written,
|
||||
int* error) {
|
||||
rtc::StreamResult StreamInterfaceChannel::Write(
|
||||
rtc::ArrayView<const uint8_t> data,
|
||||
size_t& written,
|
||||
int& error) {
|
||||
RTC_DCHECK_RUN_ON(&sequence_checker_);
|
||||
// Always succeeds, since this is an unreliable transport anyway.
|
||||
// TODO(zhihuang): Should this block if ice_transport_'s temporarily
|
||||
// unwritable?
|
||||
rtc::PacketOptions packet_options;
|
||||
ice_transport_->SendPacket(static_cast<const char*>(data), data_len,
|
||||
packet_options);
|
||||
if (written) {
|
||||
*written = data_len;
|
||||
}
|
||||
ice_transport_->SendPacket(reinterpret_cast<const char*>(data.data()),
|
||||
data.size(), packet_options);
|
||||
written = data.size();
|
||||
return rtc::SR_SUCCESS;
|
||||
}
|
||||
|
||||
|
@ -49,14 +49,12 @@ class StreamInterfaceChannel : public rtc::StreamInterface {
|
||||
// Implementations of StreamInterface
|
||||
rtc::StreamState GetState() const override;
|
||||
void Close() override;
|
||||
rtc::StreamResult Read(void* buffer,
|
||||
size_t buffer_len,
|
||||
size_t* read,
|
||||
int* error) override;
|
||||
rtc::StreamResult Write(const void* data,
|
||||
size_t data_len,
|
||||
size_t* written,
|
||||
int* error) override;
|
||||
rtc::StreamResult Read(rtc::ArrayView<uint8_t> buffer,
|
||||
size_t& read,
|
||||
int& error) override;
|
||||
rtc::StreamResult Write(rtc::ArrayView<const uint8_t> data,
|
||||
size_t& written,
|
||||
int& error) override;
|
||||
|
||||
private:
|
||||
RTC_NO_UNIQUE_ADDRESS webrtc::SequenceChecker sequence_checker_;
|
||||
|
Reference in New Issue
Block a user