pub(super) trait ChanSender: Send { // Required methods async fn send(&mut self, chunk: DataChunk) -> Result<()>; async fn close(self, error: Option<Arc<BatchError>>) -> Result<()>; }
This function will block until there’s enough resource to process the chunk. Currently, it will only be called from single thread. None is sent as a mark of the ending of channel.
None
Close this data channel.
If finished correctly, we should pass None, otherwise we should pass BatchError. In either case we should stop sending more data.
BatchError