Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pola-rs
GitHub Repository: pola-rs/polars
Path: blob/main/crates/polars-stream/src/nodes/io_sinks2/components/file_sink.rs
7884 views
1
use polars_error::PolarsResult;
2
3
use crate::async_executor;
4
use crate::async_primitives::connector;
5
use crate::nodes::io_sinks2::components::sink_morsel::SinkMorsel;
6
use crate::nodes::io_sinks2::components::size::RowCountAndSize;
7
8
pub type FileSinkPermit = tokio::sync::OwnedSemaphorePermit;
9
10
pub struct FileSinkTaskData {
11
pub morsel_tx: connector::Sender<SinkMorsel>,
12
pub start_position: RowCountAndSize,
13
pub task_handle: async_executor::JoinHandle<PolarsResult<FileSinkPermit>>,
14
}
15
16
impl FileSinkTaskData {
17
/// Signals to the writer to close, and returns its task handle.
18
pub fn close(self) -> async_executor::JoinHandle<PolarsResult<FileSinkPermit>> {
19
self.task_handle
20
}
21
}
22
23