Package org.eclipse.jetty.http2
Interface IStream
-
- All Superinterfaces:
Attachable
,java.lang.AutoCloseable
,java.io.Closeable
,Stream
- All Known Implementing Classes:
HTTP2Stream
public interface IStream extends Stream, Attachable, java.io.Closeable
The SPI interface for implementing an HTTP/2 stream.
This class extends
Stream
by adding the methods required to implement the HTTP/2 stream functionalities.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
IStream.FrameList
An ordered list of frames belonging to the same stream.-
Nested classes/interfaces inherited from interface org.eclipse.jetty.http2.api.Stream
Stream.Listener
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
close()
Forcibly closes this stream.void
commit()
Marks this stream as committed.Stream.Listener
getListener()
ISession
getSession()
boolean
isCommitted()
boolean
isLocal()
boolean
isRemotelyClosed()
boolean
isResetOrFailed()
void
notIdle()
Marks this stream as not idle so that theidle timeout
is postponed.void
process(Frame frame, Callback callback)
Processes the givenframe
, belonging to this stream.void
send(IStream.FrameList frameList, Callback callback)
Sends the given list of frames.void
setListener(Stream.Listener listener)
boolean
updateClose(boolean update, CloseState.Event event)
Updates the close state of this stream.int
updateRecvWindow(int delta)
Updates the stream receive window by the givendelta
.int
updateSendWindow(int delta)
Updates the stream send window by the givendelta
.-
Methods inherited from interface org.eclipse.jetty.util.Attachable
getAttachment, setAttachment
-
Methods inherited from interface org.eclipse.jetty.http2.api.Stream
data, getAttribute, getId, getIdleTimeout, headers, isClosed, isReset, push, removeAttribute, reset, setAttribute, setIdleTimeout
-
-
-
-
Method Detail
-
isLocal
boolean isLocal()
- Returns:
- whether this stream is local or remote
-
getSession
ISession getSession()
- Specified by:
getSession
in interfaceStream
- Returns:
- the session this stream is associated to
-
getListener
Stream.Listener getListener()
- Returns:
- the
Stream.Listener
associated with this stream - See Also:
setListener(Stream.Listener)
-
setListener
void setListener(Stream.Listener listener)
- Parameters:
listener
- theStream.Listener
associated with this stream- See Also:
getListener()
-
send
void send(IStream.FrameList frameList, Callback callback)
Sends the given list of frames.
Typically used to send HTTP headers along with content and possibly trailers.
- Parameters:
frameList
- the list of frames to sendcallback
- the callback that gets notified when the frames have been sent
-
process
void process(Frame frame, Callback callback)
Processes the given
frame
, belonging to this stream.- Parameters:
frame
- the frame to processcallback
- the callback to complete when frame has been processed
-
updateClose
boolean updateClose(boolean update, CloseState.Event event)
Updates the close state of this stream.
- Parameters:
update
- whether to update the close stateevent
- the event that caused the close state update- Returns:
- whether the stream has been fully closed by this invocation
-
close
void close()
Forcibly closes this stream.
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
-
updateSendWindow
int updateSendWindow(int delta)
Updates the stream send window by the given
delta
.- Parameters:
delta
- the delta value (positive or negative) to add to the stream send window- Returns:
- the previous value of the stream send window
-
updateRecvWindow
int updateRecvWindow(int delta)
Updates the stream receive window by the given
delta
.- Parameters:
delta
- the delta value (positive or negative) to add to the stream receive window- Returns:
- the previous value of the stream receive window
-
notIdle
void notIdle()
Marks this stream as not idle so that the
idle timeout
is postponed.
-
isRemotelyClosed
boolean isRemotelyClosed()
- Returns:
- whether the stream is closed remotely.
- See Also:
Stream.isClosed()
-
isResetOrFailed
boolean isResetOrFailed()
- Returns:
- whether this stream has been reset (locally or remotely) or has been failed
- See Also:
Stream.isReset()
,Stream.Listener.onFailure(Stream, int, String, Throwable, Callback)
-
commit
void commit()
Marks this stream as committed.- See Also:
isCommitted()
-
isCommitted
boolean isCommitted()
- Returns:
- whether bytes for this stream have been sent to the remote peer.
- See Also:
commit()
-
-