List of usage examples for io.vertx.core.streams ReadStream pause
@Fluent ReadStream<T> pause();
From source file:io.sqp.proxy.vertx.WebsocketSendQueueStream.java
License:Open Source License
public ReadStream<Buffer> addStream(ReadStream<Buffer> stream, DataFormat format) { stream.pause(); // make sure it's paused while in queue _streamQueue.add(new QueuedStream(stream, format)); proceedToNextStream();// ww w . j av a 2 s.c o m return this; }
From source file:org.apache.servicecomb.foundation.vertx.http.ReadStreamPart.java
License:Apache License
public ReadStreamPart(Context context, ReadStream<Buffer> readStream) { this.context = context; this.readStream = readStream; readStream.pause(); }
From source file:org.sfs.io.AsyncIO.java
License:Apache License
public static <M> Observable<Void> pump(final ReadStream<M> rs, final EndableWriteStream<M> ws) { rs.pause(); return Observable.defer(() -> { ObservableFuture<Void> observableFuture = RxHelper.observableFuture(); Handler<Throwable> exceptionHandler = throwable -> { try { ws.drainHandler(null);/*from www.ja v a2 s .co m*/ rs.handler(null); } catch (Throwable e) { observableFuture.fail(e); return; } observableFuture.fail(throwable); }; rs.exceptionHandler(exceptionHandler); ws.exceptionHandler(exceptionHandler); Handler<Void> drainHandler = event -> { try { rs.resume(); } catch (Throwable e) { exceptionHandler.handle(e); } }; Handler<M> dataHandler = data -> { try { ws.write(data); if (ws.writeQueueFull()) { rs.pause(); ws.drainHandler(drainHandler); } } catch (Throwable e) { exceptionHandler.handle(e); } }; ws.endHandler(observableFuture::complete); rs.endHandler(event -> { try { ws.end(); } catch (Throwable e) { exceptionHandler.handle(e); } }); try { rs.handler(dataHandler); rs.resume(); } catch (Throwable e) { exceptionHandler.handle(e); } return observableFuture; }); }