com.ning.http.client.providers.grizzly
Class FeedableBodyGenerator.NonBlockingFeeder
java.lang.Object
com.ning.http.client.providers.grizzly.FeedableBodyGenerator.BaseFeeder
com.ning.http.client.providers.grizzly.FeedableBodyGenerator.NonBlockingFeeder
- All Implemented Interfaces:
- FeedableBodyGenerator.Feeder
- Enclosing class:
- FeedableBodyGenerator
public abstract static class FeedableBodyGenerator.NonBlockingFeeder
- extends FeedableBodyGenerator.BaseFeeder
Implementations of this class provide the framework to read data from
some source and feed data to the FeedableBodyGenerator
without blocking.
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
FeedableBodyGenerator.NonBlockingFeeder
public FeedableBodyGenerator.NonBlockingFeeder(FeedableBodyGenerator feedableBodyGenerator)
- Constructs the
NonBlockingFeeder with the associated
FeedableBodyGenerator.
canFeed
public abstract void canFeed()
- Notification that it's possible to send another block of data via
FeedableBodyGenerator.BaseFeeder.feed(org.glassfish.grizzly.Buffer, boolean).
It's important to only invoke FeedableBodyGenerator.BaseFeeder.feed(Buffer, boolean)
once per invocation of canFeed().
isDone
public abstract boolean isDone()
- Returns:
true if all data has been fed by this feeder,
otherwise returns false.
isReady
public abstract boolean isReady()
- Returns:
true if data is available to be fed, otherwise
returns false. When this method returns false,
the FeedableBodyGenerator will call notifyReadyToFeed(ReadyToFeedListener)
by which this FeedableBodyGenerator.NonBlockingFeeder implementation may signal data is once
again available to be fed.
notifyReadyToFeed
public abstract void notifyReadyToFeed(FeedableBodyGenerator.NonBlockingFeeder.ReadyToFeedListener listener)
- Callback registration to signal the
FeedableBodyGenerator that
data is available once again to continue feeding. Once this listener
has been invoked, the NonBlockingFeeder implementation should no longer maintain
a reference to the listener.
flush
public void flush()
- This method will be invoked when it's possible to begin feeding
data downstream. Implementations of this method must use
FeedableBodyGenerator.Feeder.feed(Buffer, boolean)
to perform the actual write.
Copyright © 2014. All Rights Reserved.