Top Description Interfaces Classes Enums
module org.osgi.util.pushstream

Package org.osgi.util.pushstream

Annotations
@Version:1.1.0
Imports
org.osgi.annotation.versioning.Version

Push Stream Package Version 1.1.

Bundles wishing to use this package must list the package in the Import-Package header of the bundle's manifest.

Example import for consumers using the API in this package:

Import-Package: org.osgi.util.pushstream; version="[1.1,2.0)"

Example import for providers implementing the API in this package:

Import-Package: org.osgi.util.pushstream; version="[1.1,1.2)"

Author
$Id: 8e20546386065af5794ede3f419c2db0193199fa $

Interface Summary

Modifier and TypeInterface and Description
public interface
BufferBuilder<
The type of object being built
R
,
The type of objects in the PushEvent
T
,
The type of the Queue used in the user specified buffer
U extends BlockingQueue<PushEvent<? extends T>>
>

Create a buffered section of a Push-based stream

public interface
PushbackPolicy<
The type of the data
T
,
The type of the queue
U extends BlockingQueue<PushEvent<? extends T>>
>

A PushbackPolicy is used to calculate how much back pressure to apply based on the current buffer.

public interface
PushEventConsumer<
The type for the event payload
T
>

An Async Event Consumer asynchronously receives Data events until it receives either a Close or Error event.

public interface
PushEventSource<
The payload type
T
>

An event source.

public interface
PushStream<
The Payload type
T
>

A Push Stream fulfills the same role as the Java 8 stream but it reverses the control direction.

public interface
PushStreamBuilder<
The type of objects in the PushEvent
T
,
The type of the Queue used in the user specified buffer
U extends BlockingQueue<PushEvent<? extends T>>
>

A Builder for a PushStream.

public interface
QueuePolicy<
The type of the data
T
,
The type of the queue
U extends BlockingQueue<PushEvent<? extends T>>
>

A QueuePolicy is used to control how events should be queued in the current buffer.

public interface
SimplePushEventSource<
The type of the events produced by this source
T
>

A SimplePushEventSource is a helper that makes it simpler to write a PushEventSource.

Class Summary

Modifier and TypeClass and Description
pack-priv abstract class
AbstractBufferBuilder<R, T, U extends BlockingQueue<PushEvent<? extends T>>>

pack-priv abstract class
pack-priv class
BufferedPushStreamImpl<T, U extends BlockingQueue<PushEvent<? extends T>>>

pack-priv class
public abstract class
PushEvent<
The payload type of the event.
T
>

A PushEvent is an immutable object that is transferred through a communication channel to push information to a downstream consumer.

pack-priv class
PushStreamBuilderImpl<T, U extends BlockingQueue<PushEvent<? extends T>>>

public class
PushStreamProvider

A factory for PushStream instances, and utility methods for handling PushEventSources and PushEventConsumers

pack-priv class
public class
ThresholdPushbackPolicy<
The type of objects in the PushEvent
T
,
The type of the Queue used in the user specified buffer
U extends BlockingQueue<PushEvent<? extends T>>
>

Provides a configurable PushbackPolicy implementation that returns zero back pressure until the buffer fills beyond the supplied threshold.

pack-priv class
UnbufferedPushStreamImpl<T, U extends BlockingQueue<PushEvent<? extends T>>>

Enum Summary

Modifier and TypeEnum and Description
public enum
PushbackPolicyOption

PushbackPolicyOption provides a standard set of simple PushbackPolicy implementations.

public enum
QueuePolicyOption

QueuePolicyOption provides a standard set of simple QueuePolicy implementations.