public class StandardStream extends IdleTimeout implements IStream
Callback.Adapter| Constructor and Description |
|---|
StandardStream(int id,
byte priority,
ISession session,
IStream associatedStream,
Scheduler scheduler,
Promise<Stream> promise) |
| Modifier and Type | Method and Description |
|---|---|
void |
associate(IStream stream)
|
void |
data(DataInfo dataInfo)
Sends asynchronously a DATA frame on this stream.
|
void |
data(DataInfo dataInfo,
Callback callback)
Sends asynchronously a DATA frame on this stream.
|
void |
disassociate(IStream stream)
remove the given associated
IStream from this stream |
void |
failed(Throwable x)
Callback invoked when the operation fails.
|
IStream |
getAssociatedStream()
Overrides Stream.getAssociatedStream() to return an instance of IStream instead of Stream
|
Object |
getAttribute(String key) |
int |
getId() |
byte |
getPriority() |
Set<Stream> |
getPushedStreams() |
ISession |
getSession() |
StreamFrameListener |
getStreamFrameListener() |
int |
getWindowSize()
Senders of data frames need to know the current window size
to determine whether they can send more data.
|
void |
headers(HeadersInfo headersInfo)
Sends asynchronously a HEADER frame on this stream.
|
void |
headers(HeadersInfo headersInfo,
Callback callback)
Sends asynchronously a HEADER frame on this stream.
|
boolean |
isClosed() |
boolean |
isHalfClosed() |
boolean |
isOpen()
This abstract method should be called to check if idle timeouts
should still be checked.
|
boolean |
isReset() |
boolean |
isUnidirectional() |
protected void |
onIdleExpired(TimeoutException timeout)
This abstract method is called when the idle timeout has expired.
|
void |
process(ControlFrame frame)
Processes the given control frame,
for example by updating the stream's state or by calling listeners.
|
void |
process(DataInfo dataInfo)
Processes the given
dataInfo,
for example by updating the stream's state or by calling listeners. |
Stream |
push(PushInfo pushInfo)
Initiate a unidirectional spdy pushstream associated to this stream asynchronously
|
void |
push(PushInfo pushInfo,
Promise<Stream> promise)
Initiate a unidirectional spdy pushstream associated to this stream asynchronously
|
Object |
removeAttribute(String key) |
void |
reply(ReplyInfo replyInfo)
Sends asynchronously a SYN_REPLY frame in response to a SYN_STREAM frame.
|
void |
reply(ReplyInfo replyInfo,
Callback callback)
Sends asynchronously a SYN_REPLY frame in response to a SYN_STREAM frame.
|
void |
setAttribute(String key,
Object value) |
void |
setStreamFrameListener(StreamFrameListener listener) |
void |
succeeded()
Callback invoked when the operation completes.
|
String |
toString() |
void |
updateCloseState(boolean close,
boolean local)
A stream can be open,
half closed or
closed and this method updates the close state
of this stream. |
void |
updateWindowSize(int delta)
Updates the window size for this stream by the given amount,
that can be positive or negative.
|
checkIdleTimeout, getIdleTimeout, getIdleTimestamp, notIdle, onClose, onOpen, setIdleTimeoutclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetIdleTimeout, setIdleTimeoutpublic IStream getAssociatedStream()
IStreamOverrides Stream.getAssociatedStream() to return an instance of IStream instead of Stream
getAssociatedStream in interface StreamgetAssociatedStream in interface IStreamStream.getAssociatedStream()public Set<Stream> getPushedStreams()
getPushedStreams in interface Streampublic void disassociate(IStream stream)
IStreamremove the given associated IStream from this stream
disassociate in interface IStreamstream - the stream to be removedpublic byte getPriority()
getPriority in interface Streamprotected void onIdleExpired(TimeoutException timeout)
IdleTimeoutonIdleExpired in class IdleTimeouttimeout - a TimeoutExceptionpublic boolean isOpen()
IdleTimeoutisOpen in class IdleTimeoutpublic int getWindowSize()
IStreamSenders of data frames need to know the current window size to determine whether they can send more data.
getWindowSize in interface IStreamIStream.updateWindowSize(int)public void updateWindowSize(int delta)
IStreamUpdates the window size for this stream by the given amount, that can be positive or negative.
Senders and recipients of data frames update the window size, respectively, with negative values and positive values.
updateWindowSize in interface IStreamdelta - the signed amount the window size needs to be updatedIStream.getWindowSize()public ISession getSession()
getSession in interface Streampublic Object getAttribute(String key)
getAttribute in interface Streamkey - the attribute keyStream.setAttribute(String, Object)public void setAttribute(String key, Object value)
setAttribute in interface Streamkey - the attribute keyvalue - an arbitrary object to associate with the given key to this streamStream.getAttribute(String),
Stream.removeAttribute(String)public Object removeAttribute(String key)
removeAttribute in interface Streamkey - the attribute keyStream.setAttribute(String, Object)public void setStreamFrameListener(StreamFrameListener listener)
setStreamFrameListener in interface IStreamlistener - the stream frame listener associated to this stream
as returned by SessionFrameListener.onSyn(Stream, SynInfo)public StreamFrameListener getStreamFrameListener()
getStreamFrameListener in interface IStreampublic void updateCloseState(boolean close,
boolean local)
IStreamA stream can be open, half closed or
closed and this method updates the close state
of this stream.
If the stream is open, calling this method with a value of true puts the stream into half closed state.
If the stream is half closed, calling this method with a value of true puts the stream into closed state.
updateCloseState in interface IStreamclose - whether the close state should be updatedlocal - whether the close is local or remotepublic void process(ControlFrame frame)
IStreamProcesses the given control frame, for example by updating the stream's state or by calling listeners.
process in interface IStreamframe - the control frame to processIStream.process(DataInfo)public void process(DataInfo dataInfo)
IStreamProcesses the given dataInfo,
for example by updating the stream's state or by calling listeners.
process in interface IStreamdataInfo - the DataInfo to processIStream.process(ControlFrame)public void succeeded()
CallbackCallback invoked when the operation completes.
succeeded in interface CallbackCallback.failed(Throwable)public void failed(Throwable x)
CallbackCallback invoked when the operation fails.
public Stream push(PushInfo pushInfo) throws InterruptedException, ExecutionException, TimeoutException
StreamInitiate a unidirectional spdy pushstream associated to this stream asynchronously
Callers may use the returned future to get the pushstream once it got created
push in interface StreampushInfo - the metadata to send on stream creationInterruptedExceptionExecutionExceptionTimeoutExceptionStream.push(PushInfo, Promise)public void push(PushInfo pushInfo, Promise<Stream> promise)
StreamInitiate a unidirectional spdy pushstream associated to this stream asynchronously
Callers may pass a non-null completion promise to be notified of when the pushstream has been established.
push in interface StreampushInfo - the metadata to send on stream creationpromise - the completion promise that gets notified once the pushstream is establishedStream.push(PushInfo)public void reply(ReplyInfo replyInfo) throws InterruptedException, ExecutionException, TimeoutException
StreamSends asynchronously a SYN_REPLY frame in response to a SYN_STREAM frame.
Callers may use the returned future to wait for the reply to be actually sent.
reply in interface StreamreplyInfo - the metadata to sendInterruptedExceptionExecutionExceptionTimeoutExceptionStream.reply(ReplyInfo, Callback),
SessionFrameListener.onSyn(Stream, SynInfo)public void reply(ReplyInfo replyInfo, Callback callback)
StreamSends asynchronously a SYN_REPLY frame in response to a SYN_STREAM frame.
Callers may pass a non-null completion callback to be notified of when the reply has been actually sent.
reply in interface StreamreplyInfo - the metadata to sendcallback - the completion callback that gets notified of reply sentStream.reply(ReplyInfo)public void data(DataInfo dataInfo) throws InterruptedException, ExecutionException, TimeoutException
StreamSends asynchronously a DATA frame on this stream.
DATA frames should always be sent after a SYN_REPLY frame.
Callers may use the returned future to wait for the data to be actually sent.
data in interface StreamdataInfo - the metadata to sendInterruptedExceptionExecutionExceptionTimeoutExceptionStream.data(DataInfo, Callback),
Stream.reply(ReplyInfo)public void data(DataInfo dataInfo, Callback callback)
StreamSends asynchronously a DATA frame on this stream.
DATA frames should always be sent after a SYN_REPLY frame.
Callers may pass a non-null completion callback to be notified of when the data has been actually sent.
data in interface StreamdataInfo - the metadata to sendcallback - the completion callback that gets notified of data sentStream.data(DataInfo)public void headers(HeadersInfo headersInfo) throws InterruptedException, ExecutionException, TimeoutException
StreamSends asynchronously a HEADER frame on this stream.
HEADERS frames should always be sent after a SYN_REPLY frame.
Callers may use the returned future to wait for the headers to be actually sent.
headers in interface StreamheadersInfo - the metadata to sendInterruptedExceptionExecutionExceptionTimeoutExceptionStream.headers(HeadersInfo, Callback),
Stream.reply(ReplyInfo)public void headers(HeadersInfo headersInfo, Callback callback)
StreamSends asynchronously a HEADER frame on this stream.
HEADERS frames should always be sent after a SYN_REPLY frame.
Callers may pass a non-null completion callback to be notified of when the headers have been actually sent.
headers in interface StreamheadersInfo - the metadata to sendcallback - the completion callback that gets notified of headers sentStream.headers(HeadersInfo)public boolean isUnidirectional()
isUnidirectional in interface Streampublic boolean isReset()
public boolean isHalfClosed()
isHalfClosed in interface StreamStream.isClosed()public boolean isClosed()
isClosed in interface StreamStream.isHalfClosed()Copyright © 1995-2015 Webtide. All Rights Reserved.