Top Description Methods
io.vertx.core.streams

public Interface Pump

Known Direct Implementers
io.vertx.core.streams.impl.PumpImpl
Annotations
@Deprecated
@VertxGen
Imports
io.vertx.codegen.annotations.Fluent, .VertxGen, io.vertx.core.streams.impl.PumpImpl

Deprecated

instead use ReadStream#pipe() or ReadStream#pipeTo(WriteStream)

Pumps data from a ReadStream to a WriteStream and performs flow control where necessary to prevent the write stream buffer from getting overfull.

Instances of this class read items from a ReadStream and write them to a WriteStream. If data can be read faster than it can be written this could result in the write queue of the WriteStream growing without bound, eventually causing it to exhaust all available RAM.

To prevent this, after each write, instances of this class check whether the write queue of the WriteStream is full, and if so, the ReadStream is paused, and a drainHandler is set on the WriteStream.

When the WriteStream has processed half of its backlog, the drainHandler will be called, which results in the pump resuming the ReadStream.

This class can be used to pump from any ReadStream to any WriteStream, e.g. from an io.vertx.core.http.HttpServerRequest to an io.vertx.core.file.AsyncFile, or from io.vertx.core.net.NetSocket to a io.vertx.core.http.WebSocket.

Please see the documentation for more information.

Author
Tim Fox

Method Summary

Modifier and TypeMethod and Description
public int
numberPumped()

Return the total number of items pumped by this pump.

public static <T> Pump

Returns:

the pump
pump
(ReadStream<T>
the read stream
rs
,
WriteStream<T>
the write stream
ws
)
References Deprecated Pump is deprecated or references (maybe indirectly) at least one deprecated element.

Create a new Pump with the given ReadStream and WriteStream

public static <T> Pump

Returns:

the pump
pump
(ReadStream<T>
the read stream
rs
,
WriteStream<T>
the write stream
ws
,
int
the max size of the write queue
writeQueueMaxSize
)
References Deprecated Pump is deprecated or references (maybe indirectly) at least one deprecated element.

Create a new Pump with the given ReadStream and WriteStream and writeQueueMaxSize

public Pump

Returns:

a reference to this, so the API can be used fluently
setWriteQueueMaxSize
(int
the max size
maxSize
)
References Deprecated Pump is deprecated or references (maybe indirectly) at least one deprecated element.

Set the write queue max size to maxSize

public Pump

Returns:

a reference to this, so the API can be used fluently
start
()
References Deprecated Pump is deprecated or references (maybe indirectly) at least one deprecated element.

Start the Pump.

public Pump

Returns:

a reference to this, so the API can be used fluently
stop
()
References Deprecated Pump is deprecated or references (maybe indirectly) at least one deprecated element.

Stop the Pump.

Method Detail

numberPumpedback to summary
public int numberPumped()

Return the total number of items pumped by this pump.

pumpback to summary
public static <T> Pump pump(ReadStream<T> rs, WriteStream<T> ws)

References Deprecated

Pump is deprecated or references (maybe indirectly) at least one deprecated element.

See corresponding docs for further information.

Create a new Pump with the given ReadStream and WriteStream

Parameters
rs:ReadStream<T>

the read stream

ws:WriteStream<T>

the write stream

Returns:Pump

the pump

pumpback to summary
public static <T> Pump pump(ReadStream<T> rs, WriteStream<T> ws, int writeQueueMaxSize)

References Deprecated

Pump is deprecated or references (maybe indirectly) at least one deprecated element.

See corresponding docs for further information.

Create a new Pump with the given ReadStream and WriteStream and writeQueueMaxSize

Parameters
rs:ReadStream<T>

the read stream

ws:WriteStream<T>

the write stream

writeQueueMaxSize:int

the max size of the write queue

Returns:Pump

the pump

setWriteQueueMaxSizeback to summary
public Pump setWriteQueueMaxSize(int maxSize)

References Deprecated

Pump is deprecated or references (maybe indirectly) at least one deprecated element.

See corresponding docs for further information.

Set the write queue max size to maxSize

Parameters
maxSize:int

the max size

Returns:Pump

a reference to this, so the API can be used fluently

Annotations
@Fluent
startback to summary
public Pump start()

References Deprecated

Pump is deprecated or references (maybe indirectly) at least one deprecated element.

See corresponding docs for further information.

Start the Pump. The Pump can be started and stopped multiple times.

Returns:Pump

a reference to this, so the API can be used fluently

Annotations
@Fluent
stopback to summary
public Pump stop()

References Deprecated

Pump is deprecated or references (maybe indirectly) at least one deprecated element.

See corresponding docs for further information.

Stop the Pump. The Pump can be started and stopped multiple times.

Returns:Pump

a reference to this, so the API can be used fluently

Annotations
@Fluent