/** * @param log Log. * @param endp Endpoint. * @param lsnr Listener. * @param filters Filters. */ public HadoopIpcToNioAdapter(IgniteLogger log, IpcEndpoint endp, boolean accepted, GridNioServerListener<T> lsnr, GridNioFilter... filters) { this.endp = endp; chain = new GridNioFilterChain<>(log, lsnr, new HeadFilter(), filters); ses = new GridNioSessionImpl(chain, null, null, accepted); writeBuf = ByteBuffer.allocate(8 << 10); writeBuf.order(ByteOrder.nativeOrder()); }
chain.onSessionOpened(ses); readBuf.limit(pos + read); chain.onMessageReceived(ses, readBuf); chain.onSessionClosed(ses); chain.onExceptionCaught(ses, new IgniteCheckedException("Failed to read from IPC endpoint.", e));
/** {@inheritDoc} */ @SuppressWarnings("unchecked") @Override public GridNioFuture<Boolean> close() { markedForClose = true; try { return filterChain.onSessionClose(this); } catch (IgniteCheckedException e) { return new GridNioFinishedFuture<>(e); } }
GridNioFilterChain<Object> chain = new GridNioFilterChain<>(log, testLsnr, testHead, new AppendingFilter("A"), new AppendingFilter("B"), new AppendingFilter("C"), new AppendingFilter("D")); ByteBuffer rcvd = ByteBuffer.wrap(new byte[1]); chain.onSessionOpened(ses); chain.onSessionClosed(ses); chain.onMessageReceived(ses, rcvd); chain.onSessionIdleTimeout(ses); chain.onSessionWriteTimeout(ses); assertNull(chain.onSessionClose(ses)); assertNull(chain.onSessionWrite(ses, snd, true, null));
/** {@inheritDoc} */ @Override public void sendNoFuture(Object msg, IgniteInClosure<IgniteException> ackC) throws IgniteCheckedException { try { chain().onSessionWrite(this, msg, false, ackC); } catch (IgniteCheckedException e) { close(); throw e; } }
/** {@inheritDoc} */ @Override public GridNioFuture<?> pauseReads() { try { return chain().onPauseReads(this); } catch (IgniteCheckedException e) { close(); return new GridNioFinishedFuture<Object>(e); } }
/** {@inheritDoc} */ @Override public GridNioFuture<?> resumeReads() { try { return chain().onResumeReads(this); } catch (IgniteCheckedException e) { close(); return new GridNioFinishedFuture<Object>(e); } }
/** {@inheritDoc} */ @Override public GridNioFuture<?> send(Object msg) { try { resetSendScheduleTime(); return chain().onSessionWrite(this, msg, true, null); } catch (IgniteCheckedException e) { close(); return new GridNioFinishedFuture<Object>(e); } }
/** {@inheritDoc} */ @Override public GridNioFuture<?> pauseReads() { try { return chain().onPauseReads(this); } catch (IgniteCheckedException e) { close(); return new GridNioFinishedFuture<Object>(e); } }
/** {@inheritDoc} */ @Override public GridNioFuture<?> resumeReads() { try { return chain().onResumeReads(this); } catch (IgniteCheckedException e) { close(); return new GridNioFinishedFuture<Object>(e); } }
chain.onSessionOpened(ses); readBuf.limit(pos + read); chain.onMessageReceived(ses, readBuf); chain.onExceptionCaught(ses, new IgniteCheckedException("Failed to read from IPC endpoint.", e)); chain.onSessionClosed(ses); chain.onExceptionCaught(ses, new IgniteCheckedException("Failed to process session close event " + "for IPC endpoint.", e));
/** * @param metricsLsnr Metrics listener. * @param log Log. * @param endp Endpoint. * @param lsnr Listener. * @param writerFactory Writer factory. * @param filters Filters. */ public IpcToNioAdapter(GridNioMetricsListener metricsLsnr, IgniteLogger log, IpcEndpoint endp, GridNioServerListener<T> lsnr, GridNioMessageWriterFactory writerFactory, GridNioFilter... filters) { assert metricsLsnr != null; this.metricsLsnr = metricsLsnr; this.endp = endp; this.writerFactory = writerFactory; chain = new GridNioFilterChain<>(log, lsnr, new HeadFilter(), filters); ses = new GridNioSessionImpl(chain, null, null, true); writeBuf = ByteBuffer.allocate(8 << 10); writeBuf.order(ByteOrder.nativeOrder()); }
/** {@inheritDoc} */ @Override public void sendNoFuture(Object msg, IgniteInClosure<IgniteException> ackC) throws IgniteCheckedException { try { chain().onSessionWrite(this, msg, false, ackC); } catch (IgniteCheckedException e) { close(); throw e; } }
/** {@inheritDoc} */ @SuppressWarnings("unchecked") @Override public GridNioFuture<Boolean> close() { markedForClose = true; try { return filterChain.onSessionClose(this); } catch (IgniteCheckedException e) { return new GridNioFinishedFuture<>(e); } }
chain.onSessionOpened(ses); readBuf.limit(pos + read); chain.onMessageReceived(ses, readBuf); chain.onExceptionCaught(ses, new IgniteCheckedException("Failed to read from IPC endpoint.", e)); chain.onSessionClosed(ses); chain.onExceptionCaught(ses, new IgniteCheckedException("Failed to process session close event " + "for IPC endpoint.", e));
this.lsnr = lsnr; filterChain = new GridNioFilterChain<>(log, lsnr, new HeadFilter(), filters);
/** {@inheritDoc} */ @Override public GridNioFuture<?> send(Object msg) { try { resetSendScheduleTime(); return chain().onSessionWrite(this, msg, true, null); } catch (IgniteCheckedException e) { close(); return new GridNioFinishedFuture<Object>(e); } }
/** * @param metricsLsnr Metrics listener. * @param log Log. * @param endp Endpoint. * @param lsnr Listener. * @param writerFactory Writer factory. * @param filters Filters. */ public IpcToNioAdapter(GridNioMetricsListener metricsLsnr, IgniteLogger log, IpcEndpoint endp, GridNioServerListener<T> lsnr, GridNioMessageWriterFactory writerFactory, GridNioFilter... filters) { assert metricsLsnr != null; this.metricsLsnr = metricsLsnr; this.endp = endp; this.writerFactory = writerFactory; chain = new GridNioFilterChain<>(log, lsnr, new HeadFilter(), filters); ses = new GridNioSessionImpl(chain, null, null, true); writeBuf = ByteBuffer.allocate(8 << 10); writeBuf.order(ByteOrder.nativeOrder()); }
this.lsnr = lsnr; filterChain = new GridNioFilterChain<>(log, lsnr, new HeadFilter(), filters);