datachannel: Don't close a data channel when the queue is full

According to https://w3c.github.io/webrtc-pc/#datachannel-send it should
return an error, definitely not close the data channel.
While we should probably return an RTCError will better information, this
would break the API and will be done later.

Bug: webrtc:13289
Change-Id: I90baf012440fbe2a38a826cf50b50b2b668fd7ff
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/237180
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35306}
diff --git a/api/data_channel_interface.h b/api/data_channel_interface.h
index a02bc5e..4f74918 100644
--- a/api/data_channel_interface.h
+++ b/api/data_channel_interface.h
@@ -183,12 +183,10 @@
 
   // Sends `data` to the remote peer. If the data can't be sent at the SCTP
   // level (due to congestion control), it's buffered at the data channel level,
-  // up to a maximum of MaxSendQueueSize(). If Send is called while this buffer
-  // is full, the data channel will be closed abruptly.
-  //
-  // So, it's important to use buffered_amount() and OnBufferedAmountChange to
-  // ensure the data channel is used efficiently but without filling this
-  // buffer.
+  // up to a maximum of MaxSendQueueSize().
+  // Returns false if the data channel is not in open state or if the send
+  // buffer is full.
+  // TODO(webrtc:13289): Return an RTCError with information about the failure.
   virtual bool Send(const DataBuffer& buffer) = 0;
 
   // Amount of bytes that can be queued for sending on the data channel.