B:BD[
4.178062] → [
4.178062:178382]
while let Some((buf, a, size)) = channel.pending_data.pop_front() {
let (buf, size_) = Self::data_noqueue(&mut self.write, channel, buf, size);
pending_size += size_;
if size_ < buf.len() {
channel.pending_data.push_front((buf, a, size_));
while let Some((buf, a, from)) = channel.pending_data.pop_front() {
let size = Self::data_noqueue(&mut self.write, channel, &buf, from);
pending_size += size;
if from + size < buf.len() {
channel.pending_data.push_front((buf, a, from + size));