fn poll_frame()

in src/client/http/body.rs [119:143]


    fn poll_frame(
        mut self: Pin<&mut Self>,
        _cx: &mut Context<'_>,
    ) -> Poll<Option<Result<Frame<Self::Data>, Self::Error>>> {
        Poll::Ready(match &mut self.0 {
            Inner::Bytes(bytes) => {
                let out = bytes.split_off(0);
                if out.is_empty() {
                    None
                } else {
                    Some(Ok(Frame::data(out)))
                }
            }
            Inner::PutPayload(offset, payload) => {
                let slice = payload.as_ref();
                if *offset == slice.len() {
                    None
                } else {
                    Some(Ok(Frame::data(
                        slice[std::mem::replace(offset, *offset + 1)].clone(),
                    )))
                }
            }
        })
    }