pub struct RemoteFragmentTransport { /* private fields */ }Expand description
Coordinator-side Arrow IPC transport for tablet fragments.
Each tablet route names an authenticated RPC carrier. Output is pulled one batch at a time, so consumer polling is the backpressure mechanism.
Implementations§
Source§impl RemoteFragmentTransport
impl RemoteFragmentTransport
Sourcepub fn new(default_client: Arc<dyn FragmentRpcClient>) -> Self
pub fn new(default_client: Arc<dyn FragmentRpcClient>) -> Self
Creates a transport whose tablets use default_client.
Sourcepub fn with_message_limit(
default_client: Arc<dyn FragmentRpcClient>,
max_message_bytes: usize,
) -> Self
pub fn with_message_limit( default_client: Arc<dyn FragmentRpcClient>, max_message_bytes: usize, ) -> Self
Creates a transport with an explicit per-call body bound.
Sourcepub fn with_client(
self,
tablet: TabletId,
client: Arc<dyn FragmentRpcClient>,
) -> Self
pub fn with_client( self, tablet: TabletId, client: Arc<dyn FragmentRpcClient>, ) -> Self
Routes one tablet through a specific peer carrier.
Trait Implementations§
Source§impl FragmentTransport for RemoteFragmentTransport
impl FragmentTransport for RemoteFragmentTransport
Source§fn execute_fragment<'life0, 'life1, 'async_trait>(
&'life0 self,
query_id: QueryId,
fragment: &'life1 PlanFragment,
inputs: Vec<FragmentStream>,
control: FragmentControl,
) -> Pin<Box<dyn Future<Output = DistributedResult<FragmentStream>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn execute_fragment<'life0, 'life1, 'async_trait>(
&'life0 self,
query_id: QueryId,
fragment: &'life1 PlanFragment,
inputs: Vec<FragmentStream>,
control: FragmentControl,
) -> Pin<Box<dyn Future<Output = DistributedResult<FragmentStream>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Starts a fragment on its assigned worker and returns its output
stream.
Source§fn cancel_fragment(
&self,
query_id: QueryId,
fragment_id: FragmentId,
) -> DistributedResult<()>
fn cancel_fragment( &self, query_id: QueryId, fragment_id: FragmentId, ) -> DistributedResult<()>
Best-effort cancellation of a running (or abandoned) fragment.
Source§fn refill_top_k<'life0, 'life1, 'async_trait>(
&'life0 self,
query_id: QueryId,
fragment: &'life1 PlanFragment,
offset: usize,
limit: usize,
control: FragmentControl,
) -> Pin<Box<dyn Future<Output = DistributedResult<TopKRefill>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn refill_top_k<'life0, 'life1, 'async_trait>(
&'life0 self,
query_id: QueryId,
fragment: &'life1 PlanFragment,
offset: usize,
limit: usize,
control: FragmentControl,
) -> Pin<Box<dyn Future<Output = DistributedResult<TopKRefill>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Fetches the next top-k batch of a fragment’s tablet (adaptive
refill). Transports without a refill binding leave the default.
Auto Trait Implementations§
impl !Freeze for RemoteFragmentTransport
impl !RefUnwindSafe for RemoteFragmentTransport
impl !UnwindSafe for RemoteFragmentTransport
impl Send for RemoteFragmentTransport
impl Sync for RemoteFragmentTransport
impl Unpin for RemoteFragmentTransport
impl UnsafeUnpin for RemoteFragmentTransport
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more