Package io.netty.handler.codec.http2
Class DefaultHttp2GoAwayFrame
- java.lang.Object
-
- io.netty.buffer.DefaultByteBufHolder
-
- io.netty.handler.codec.http2.DefaultHttp2GoAwayFrame
-
- All Implemented Interfaces:
ByteBufHolder
,Http2Frame
,Http2GoAwayFrame
,ReferenceCounted
public final class DefaultHttp2GoAwayFrame extends DefaultByteBufHolder implements Http2GoAwayFrame
The defaultHttp2GoAwayFrame
implementation.
-
-
Constructor Summary
Constructors Constructor Description DefaultHttp2GoAwayFrame(long errorCode)
Equivalent tonew DefaultHttp2GoAwayFrame(content, Unpooled.EMPTY_BUFFER)
.DefaultHttp2GoAwayFrame(long errorCode, ByteBuf content)
Construct a new GOAWAY message.DefaultHttp2GoAwayFrame(Http2Error error)
Equivalent tonew DefaultHttp2GoAwayFrame(error.code())
.DefaultHttp2GoAwayFrame(Http2Error error, ByteBuf content)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Http2GoAwayFrame
copy()
Creates a deep copy of thisByteBufHolder
.Http2GoAwayFrame
duplicate()
Duplicates thisByteBufHolder
.boolean
equals(java.lang.Object o)
This implementation of theequals
operation is restricted to work only with instances of the same class.long
errorCode()
The reason for beginning closure of the connection.int
extraStreamIds()
The number of IDs to reserve for the receiver to use while GOAWAY is in transit.int
hashCode()
int
lastStreamId()
Returns the last stream identifier if set, or-1
else.java.lang.String
name()
Returns the name of the HTTP/2 frame e.g.Http2GoAwayFrame
replace(ByteBuf content)
Returns a newByteBufHolder
which contains the specifiedcontent
.Http2GoAwayFrame
retain()
Increases the reference count by1
.Http2GoAwayFrame
retain(int increment)
Increases the reference count by the specifiedincrement
.Http2GoAwayFrame
retainedDuplicate()
Duplicates thisByteBufHolder
.Http2GoAwayFrame
setExtraStreamIds(int extraStreamIds)
Sets the number of IDs to reserve for the receiver to use while GOAWAY is in transit.java.lang.String
toString()
Http2GoAwayFrame
touch()
Records the current access location of this object for debugging purposes.Http2GoAwayFrame
touch(java.lang.Object hint)
Records the current access location of this object with an additional arbitrary information for debugging purposes.-
Methods inherited from class io.netty.buffer.DefaultByteBufHolder
content, contentToString, refCnt, release, release
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface io.netty.handler.codec.http2.Http2GoAwayFrame
content
-
Methods inherited from interface io.netty.util.ReferenceCounted
refCnt, release, release
-
-
-
-
Constructor Detail
-
DefaultHttp2GoAwayFrame
public DefaultHttp2GoAwayFrame(Http2Error error)
Equivalent tonew DefaultHttp2GoAwayFrame(error.code())
.- Parameters:
error
- non-null
reason for the go away
-
DefaultHttp2GoAwayFrame
public DefaultHttp2GoAwayFrame(long errorCode)
Equivalent tonew DefaultHttp2GoAwayFrame(content, Unpooled.EMPTY_BUFFER)
.- Parameters:
errorCode
- reason for the go away
-
DefaultHttp2GoAwayFrame
public DefaultHttp2GoAwayFrame(Http2Error error, ByteBuf content)
- Parameters:
error
- non-null
reason for the go awaycontent
- non-null
debug data
-
DefaultHttp2GoAwayFrame
public DefaultHttp2GoAwayFrame(long errorCode, ByteBuf content)
Construct a new GOAWAY message.- Parameters:
errorCode
- reason for the go awaycontent
- non-null
debug data
-
-
Method Detail
-
name
public java.lang.String name()
Description copied from interface:Http2Frame
Returns the name of the HTTP/2 frame e.g. DATA, GOAWAY, etc.- Specified by:
name
in interfaceHttp2Frame
-
errorCode
public long errorCode()
Description copied from interface:Http2GoAwayFrame
The reason for beginning closure of the connection. Represented as an HTTP/2 error code.- Specified by:
errorCode
in interfaceHttp2GoAwayFrame
-
extraStreamIds
public int extraStreamIds()
Description copied from interface:Http2GoAwayFrame
The number of IDs to reserve for the receiver to use while GOAWAY is in transit. This allows for new streams currently en route to still be created, up to a point, which allows for very graceful shutdown of both sides.- Specified by:
extraStreamIds
in interfaceHttp2GoAwayFrame
-
setExtraStreamIds
public Http2GoAwayFrame setExtraStreamIds(int extraStreamIds)
Description copied from interface:Http2GoAwayFrame
Sets the number of IDs to reserve for the receiver to use while GOAWAY is in transit.- Specified by:
setExtraStreamIds
in interfaceHttp2GoAwayFrame
- Returns:
this
- See Also:
Http2GoAwayFrame.extraStreamIds()
-
lastStreamId
public int lastStreamId()
Description copied from interface:Http2GoAwayFrame
Returns the last stream identifier if set, or-1
else.- Specified by:
lastStreamId
in interfaceHttp2GoAwayFrame
-
copy
public Http2GoAwayFrame copy()
Description copied from class:DefaultByteBufHolder
Creates a deep copy of thisByteBufHolder
.This method calls
replace(content().copy())
by default.- Specified by:
copy
in interfaceByteBufHolder
- Specified by:
copy
in interfaceHttp2GoAwayFrame
- Overrides:
copy
in classDefaultByteBufHolder
-
duplicate
public Http2GoAwayFrame duplicate()
Description copied from class:DefaultByteBufHolder
Duplicates thisByteBufHolder
. Be aware that this will not automatically callByteBufHolder.retain()
.This method calls
replace(content().duplicate())
by default.- Specified by:
duplicate
in interfaceByteBufHolder
- Specified by:
duplicate
in interfaceHttp2GoAwayFrame
- Overrides:
duplicate
in classDefaultByteBufHolder
-
retainedDuplicate
public Http2GoAwayFrame retainedDuplicate()
Description copied from class:DefaultByteBufHolder
Duplicates thisByteBufHolder
. This method returns a retained duplicate unlikeByteBufHolder.duplicate()
.This method calls
replace(content().retainedDuplicate())
by default.- Specified by:
retainedDuplicate
in interfaceByteBufHolder
- Specified by:
retainedDuplicate
in interfaceHttp2GoAwayFrame
- Overrides:
retainedDuplicate
in classDefaultByteBufHolder
- See Also:
ByteBuf.retainedDuplicate()
-
replace
public Http2GoAwayFrame replace(ByteBuf content)
Description copied from class:DefaultByteBufHolder
Returns a newByteBufHolder
which contains the specifiedcontent
.Override this method to return a new instance of this object whose content is set to the specified
content
. The default implementation ofDefaultByteBufHolder.copy()
,DefaultByteBufHolder.duplicate()
andDefaultByteBufHolder.retainedDuplicate()
invokes this method to create a copy.- Specified by:
replace
in interfaceByteBufHolder
- Specified by:
replace
in interfaceHttp2GoAwayFrame
- Overrides:
replace
in classDefaultByteBufHolder
-
retain
public Http2GoAwayFrame retain()
Description copied from interface:ReferenceCounted
Increases the reference count by1
.- Specified by:
retain
in interfaceByteBufHolder
- Specified by:
retain
in interfaceHttp2GoAwayFrame
- Specified by:
retain
in interfaceReferenceCounted
- Overrides:
retain
in classDefaultByteBufHolder
-
retain
public Http2GoAwayFrame retain(int increment)
Description copied from interface:ReferenceCounted
Increases the reference count by the specifiedincrement
.- Specified by:
retain
in interfaceByteBufHolder
- Specified by:
retain
in interfaceHttp2GoAwayFrame
- Specified by:
retain
in interfaceReferenceCounted
- Overrides:
retain
in classDefaultByteBufHolder
-
touch
public Http2GoAwayFrame touch()
Description copied from interface:ReferenceCounted
Records the current access location of this object for debugging purposes. If this object is determined to be leaked, the information recorded by this operation will be provided to you viaResourceLeakDetector
. This method is a shortcut totouch(null)
.- Specified by:
touch
in interfaceByteBufHolder
- Specified by:
touch
in interfaceHttp2GoAwayFrame
- Specified by:
touch
in interfaceReferenceCounted
- Overrides:
touch
in classDefaultByteBufHolder
-
touch
public Http2GoAwayFrame touch(java.lang.Object hint)
Description copied from interface:ReferenceCounted
Records the current access location of this object with an additional arbitrary information for debugging purposes. If this object is determined to be leaked, the information recorded by this operation will be provided to you viaResourceLeakDetector
.- Specified by:
touch
in interfaceByteBufHolder
- Specified by:
touch
in interfaceHttp2GoAwayFrame
- Specified by:
touch
in interfaceReferenceCounted
- Overrides:
touch
in classDefaultByteBufHolder
-
equals
public boolean equals(java.lang.Object o)
Description copied from class:DefaultByteBufHolder
This implementation of theequals
operation is restricted to work only with instances of the same class. The reason for that is that Netty library already has a number of classes that extendDefaultByteBufHolder
and overrideequals
method with an additional comparison logic and we need the symmetric property of theequals
operation to be preserved.- Overrides:
equals
in classDefaultByteBufHolder
- Parameters:
o
- the reference object with which to compare.- Returns:
true
if this object is the same as the obj argument;false
otherwise.
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classDefaultByteBufHolder
-
toString
public java.lang.String toString()
- Overrides:
toString
in classDefaultByteBufHolder
-
-