Class BlockExchange
- java.lang.Object
-
- org.apache.pinot.query.runtime.operator.exchange.BlockExchange
-
public abstract class BlockExchange extends Object
This class contains the shared logic across all different exchange types for exchanging data across servers.
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedBlockExchange(List<SendingMailbox> sendingMailboxes, BlockSplitter splitter)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidcancel(Throwable t)voidclose()static BlockExchangegetExchange(List<SendingMailbox> sendingMailboxes, org.apache.calcite.rel.RelDistribution.Type exchangeType, KeySelector<Object[],Object[]> selector, BlockSplitter splitter)protected abstract voidroute(List<SendingMailbox> destinations, TransferableBlock block)voidsend(TransferableBlock block)protected voidsendBlock(SendingMailbox sendingMailbox, TransferableBlock block)
-
-
-
Constructor Detail
-
BlockExchange
protected BlockExchange(List<SendingMailbox> sendingMailboxes, BlockSplitter splitter)
-
-
Method Detail
-
getExchange
public static BlockExchange getExchange(List<SendingMailbox> sendingMailboxes, org.apache.calcite.rel.RelDistribution.Type exchangeType, KeySelector<Object[],Object[]> selector, BlockSplitter splitter)
-
send
public void send(TransferableBlock block) throws Exception
- Throws:
Exception
-
sendBlock
protected void sendBlock(SendingMailbox sendingMailbox, TransferableBlock block) throws Exception
- Throws:
Exception
-
route
protected abstract void route(List<SendingMailbox> destinations, TransferableBlock block) throws Exception
- Throws:
Exception
-
close
public void close()
-
cancel
public void cancel(Throwable t)
-
-