@Override public String toString() { return "Channel:" + channelId + "[localClose: " + localClose + " localCloseAck: " + localCloseAck + " remoteClose: " + remoteClose + " remoteCloseAck:" + remoteCloseAck + " readCredits: " + ri.getCredits() + " writeCredits: " + wi.getCredits() + "]"; }
@Override public void close() throws HyracksDataException { // Check if needed? if (appender.getTupleCount() > 0) { appender.flush(writer, true); } writer.close(); } };
@Override public void fail() throws HyracksDataException { writer.fail(); } };
@Override public void open() throws HyracksDataException { if (index == 0) { writer.open(); } }
@Override public void close() throws HyracksDataException { if (opened) { writer.close(); } }
/** * Write currently buffered records to {@code writer} then flushes {@code writer}. The inside frame is always cleared * @param writer the FrameWriter to write to and flush * @throws HyracksDataException */ public default void flush(IFrameWriter writer) throws HyracksDataException { write(writer, true); writer.flush(); } }
protected boolean hasEnoughSpace(int fieldCount, int tupleLength) { return tupleDataEndOffset + FrameHelper.calcRequiredSpace(fieldCount, tupleLength) + tupleCount * FrameConstants.SIZE_LEN <= FrameHelper.getTupleCountOffset(frame.getFrameSize()); }
private void closeChannel(IChannelControlBlock ccb) { ccb.getWriteInterface().getFullBufferAcceptor().close(); }
@Override public void recycleBuffer(ByteBuffer buffer) { buffer.clear(); ccb.getReadInterface().getEmptyBufferAcceptor().accept(buffer); }
@Override public void flush() throws HyracksDataException { writer.flush(); } }
@Override public void nextFrame(ByteBuffer buffer) throws HyracksDataException { synchronized (UnionOperator.this) { writer.nextFrame(buffer); } }
protected void flushAndReset() throws HyracksDataException { if (appender.getTupleCount() > 0) { appender.write(writer, true); } }
@Override public void close() throws HyracksDataException { for (IFrameReader sender : senders) { sender.close(); } } }
@Override public IFrameWriter createPartitioner(IHyracksTaskContext ctx, RecordDescriptor recordDesc, IPartitionWriterFactory edwFactory, int index, int nProducerPartitions, int nConsumerPartitions) throws HyracksDataException { return edwFactory.createFrameWriter(index); }
@Override public boolean equals(Object o) { if (o == this) { return true; } if (!(o instanceof ResultDirectoryRecord)) { return false; } return address.equals(((ResultDirectoryRecord) o).address); }
@Override public void fail() throws HyracksDataException { failed = true; if (isOpen) { writer.fail(); } }
@Override public void recycleBuffer(ByteBuffer buffer) { buffer.clear(); ccb.getReadInterface().getEmptyBufferAcceptor().accept(buffer); }
@Override public void flush() throws HyracksDataException { synchronized (UnionOperator.this) { writer.flush(); } } };