Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Netty project - an event-driven asynchronous network application framework
Java Other
branch: master

HTTP/2 Closed Streams Conditional Priority Tree Removal

Motivation:
The HTTP/2 specification allows for closed (and streams in any state) to exist in the priority tree. The current code removes streams from the priority tree as soon as they are closed (subject to the removal policy). This may lead to undesired distribution of resources from the peer's perspective.

Modifications:
- We should only remove streams from the priority tree when they have no descendant streams in a viable state.
- We should track when tree edges change or nodes are removed if inviable nodes can then be removed.

Result:
Priority tree doesn't remove closed streams until descendant are all closed, or there are no descendants.
latest commit 2b3e0e675a
@Scottmitch Scottmitch authored
Failed to load latest commit information.
all [maven-release-plugin] prepare for next development iteration
buffer HTTP/2 Decoder reduce preface conditional checks
codec-dns [maven-release-plugin] prepare for next development iteration
codec-haproxy [maven-release-plugin] prepare for next development iteration
codec-http Safely encode Strings to ASCII
codec-http2 HTTP/2 Closed Streams Conditional Priority Tree Removal
codec-memcache Returns after encoding each message not do check following instance t…
codec-mqtt [maven-release-plugin] prepare for next development iteration
codec-socks [maven-release-plugin] prepare for next development iteration
codec-stomp [maven-release-plugin] prepare for next development iteration
codec-xml [maven-release-plugin] prepare for next development iteration
codec Add support for byte order to LengthFieldPrepender
common Document nEventLoops=0 in (Nio|Default|Epoll)EventLoopGroups.
example HTTP/2 Decoder reduce preface conditional checks
handler-proxy [maven-release-plugin] prepare for next development iteration
handler Fix intermittent test failure in LoggingHandlerTest
license Integrate non-blocking XML parser as Netty codec (#2806)
microbench Cleaning up the initialization of Http2ConnectionHandler
resolver-dns [maven-release-plugin] prepare for next development iteration
resolver Use InetSocketAddress.getHostName() instead of getHostString()
tarball [maven-release-plugin] prepare for next development iteration
testsuite-osgi [maven-release-plugin] prepare for next development iteration
testsuite [maven-release-plugin] prepare for next development iteration
transport-native-epoll First load RuntimeException to prevent segfault on error
transport-rxtx [maven-release-plugin] prepare for next development iteration
transport-sctp [maven-release-plugin] prepare for next development iteration
transport-udt [maven-release-plugin] prepare for next development iteration
transport Small typos fixes in Channel's Javadoc
.fbprefs Updated Find Bugs configuration
.gitignore Exclude bin directory from git Motivation:
.travis.yml Travis CI branch whitelisting
CONTRIBUTING.md Move the pull request guide to the developer guide
LICENSE.txt Relicensed to Apache License v2
NOTICE.txt Integrate non-blocking XML parser as Netty codec (#2806)
README.md Add a link to the 'native transports' page
pom.xml Add supported for X509ExtendedTrustManager when using OpenSslEngine
run-example.sh Add logLevel property to enable different log levels for the examples.

README.md

Netty Project

Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients.

Links

How to build

For the detailed information about building and developing Netty, please visit the developer guide. This page only gives very basic information.

You require the following to build Netty:

Note that this is build-time requirement. JDK 5 (for 3.x) or 6 (for 4.0+) is enough to run your Netty-based application.

Branches to look

The 'master' branch is where the development of the latest major version lives on. The development of all other versions takes place in each branch whose name is identical to <majorVersion>.<minorVersion>. For example, the development of 3.9 and 4.0 resides in the branch '3.9' and the branch '4.0' respectively.

Something went wrong with that request. Please try again.