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
@UnstableApi
public final class DefaultHttp2GoAwayFrame
extends DefaultByteBufHolder
implements Http2GoAwayFrame
The default
Http2GoAwayFrame
implementation.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final long
private int
private final int
-
Constructor Summary
ConstructorsConstructorDescriptionDefaultHttp2GoAwayFrame
(int lastStreamId, long errorCode, ByteBuf content) Construct a new GOAWAY message.DefaultHttp2GoAwayFrame
(long errorCode) Equivalent tonew DefaultHttp2GoAwayFrame(content, Unpooled.EMPTY_BUFFER)
.DefaultHttp2GoAwayFrame
(long errorCode, ByteBuf content) Construct a new GOAWAY message.Equivalent tonew DefaultHttp2GoAwayFrame(error.code())
.DefaultHttp2GoAwayFrame
(Http2Error error, ByteBuf content) -
Method Summary
Modifier and TypeMethodDescriptioncopy()
Creates a deep copy of thisByteBufHolder
.Duplicates thisByteBufHolder
.boolean
This implementation of theequals
operation is restricted to work only with instances of the same class.long
The reason for beginning closure of the connection.int
The number of IDs to reserve for the receiver to use while GOAWAY is in transit.int
hashCode()
int
Returns the last stream identifier if set, or-1
else.name()
Returns the name of the HTTP/2 frame e.g.Returns a newByteBufHolder
which contains the specifiedcontent
.retain()
Increases the reference count by1
.retain
(int increment) Increases the reference count by the specifiedincrement
.Duplicates thisByteBufHolder
.setExtraStreamIds
(int extraStreamIds) Sets the number of IDs to reserve for the receiver to use while GOAWAY is in transit.toString()
touch()
Records the current access location of this object for debugging purposes.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
-
Field Details
-
errorCode
private final long errorCode -
lastStreamId
private final int lastStreamId -
extraStreamIds
private int extraStreamIds
-
-
Constructor Details
-
DefaultHttp2GoAwayFrame
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
- Parameters:
error
- non-null
reason for the go awaycontent
- non-null
debug data
-
DefaultHttp2GoAwayFrame
Construct a new GOAWAY message.- Parameters:
errorCode
- reason for the go awaycontent
- non-null
debug data
-
DefaultHttp2GoAwayFrame
DefaultHttp2GoAwayFrame(int lastStreamId, long errorCode, ByteBuf content) Construct a new GOAWAY message. This constructor is for internal use only. A user should not have to specify a specific last stream identifier, but usesetExtraStreamIds(int)
instead.
-
-
Method Details
-
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
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:
-
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
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
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
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:
-
replace
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
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
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
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
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
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
- Overrides:
toString
in classDefaultByteBufHolder
-