<mavenModuleSetBuild _class='hudson.maven.MavenModuleSetBuild'><action _class='hudson.model.CauseAction'><cause _class='com.cloudbees.jenkins.GitHubPushCause'><shortDescription>Started by GitHub push by md-5</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><originmaster _class='hudson.plugins.git.util.Build'><buildNumber>636</buildNumber><marked><SHA1>99f361ca77e52b5e95fea4444317ccfc94f4545a</SHA1><branch><SHA1>99f361ca77e52b5e95fea4444317ccfc94f4545a</SHA1><name>origin/master</name></branch></marked><revision><SHA1>99f361ca77e52b5e95fea4444317ccfc94f4545a</SHA1><branch><SHA1>99f361ca77e52b5e95fea4444317ccfc94f4545a</SHA1><name>origin/master</name></branch></revision></originmaster></buildsByBranchName><lastBuiltRevision><SHA1>99f361ca77e52b5e95fea4444317ccfc94f4545a</SHA1><branch><SHA1>99f361ca77e52b5e95fea4444317ccfc94f4545a</SHA1><name>origin/master</name></branch></lastBuiltRevision><remoteUrl>git://github.com/SpigotMC/BungeeCord.git</remoteUrl><scmName></scmName></action><action _class='hudson.plugins.git.GitTagAction'></action><action></action><action _class='hudson.maven.reporters.SurefireAggregatedReport'><failCount>0</failCount><skipCount>0</skipCount><totalCount>5</totalCount><urlName>testReport</urlName><childReport><child _class='hudson.maven.MavenBuild'><number>636</number><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-event/636/</url></child><result _class='hudson.tasks.junit.TestResult'><duration>0.001</duration><empty>false</empty><failCount>0</failCount><passCount>1</passCount><skipCount>0</skipCount><suite><case><age>0</age><className>net.md_5.bungee.event.EventBusTest</className><duration>0.001</duration><failedSince>0</failedSince><name>testNestedEvents</name><skipped>false</skipped><status>PASSED</status></case><duration>0.001</duration><name>net.md_5.bungee.event.EventBusTest</name></suite></result></childReport><childReport><child _class='hudson.maven.MavenBuild'><number>636</number><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-protocol/636/</url></child><result _class='hudson.tasks.junit.TestResult'><duration>0.018000001</duration><empty>false</empty><failCount>0</failCount><passCount>2</passCount><skipCount>0</skipCount><suite><case><age>0</age><className>net.md_5.bungee.protocol.PacketTest</className><duration>0.001</duration><failedSince>0</failedSince><name>testPackets</name><skipped>false</skipped><status>PASSED</status></case><duration>0.001</duration><name>net.md_5.bungee.protocol.PacketTest</name></suite><suite><case><age>0</age><className>net.md_5.bungee.protocol.ProtocolTest</className><duration>0.017</duration><failedSince>0</failedSince><name>testProtocol</name><skipped>false</skipped><status>PASSED</status></case><duration>0.017</duration><name>net.md_5.bungee.protocol.ProtocolTest</name></suite></result></childReport><childReport><child _class='hudson.maven.MavenBuild'><number>636</number><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-proxy/636/</url></child><result _class='hudson.tasks.junit.TestResult'><duration>0.025</duration><empty>false</empty><failCount>0</failCount><passCount>2</passCount><skipCount>0</skipCount><suite><case><age>0</age><className>net.md_5.bungee.util.CaseInsensitiveTest</className><duration>0.023</duration><failedSince>0</failedSince><name>testMaps</name><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.CaseInsensitiveTest</className><duration>0.002</duration><failedSince>0</failedSince><name>testSets</name><skipped>false</skipped><status>PASSED</status></case><duration>0.025</duration><name>net.md_5.bungee.util.CaseInsensitiveTest</name></suite></result></childReport></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'><artifactsUrl>https://hub.spigotmc.org/jenkins/job/BungeeCord/636/artifact</artifactsUrl><changesUrl>https://hub.spigotmc.org/jenkins/job/BungeeCord/changes</changesUrl><displayUrl>https://hub.spigotmc.org/jenkins/job/BungeeCord/636/</displayUrl><testsUrl>https://hub.spigotmc.org/jenkins/job/BungeeCord/636/testReport</testsUrl></action><artifact><displayPath>BungeeCord.jar</displayPath><fileName>BungeeCord.jar</fileName><relativePath>proxy/target/BungeeCord.jar</relativePath></artifact><building>false</building><displayName>#636</displayName><duration>85099</duration><estimatedDuration>162405</estimatedDuration><fullDisplayName>BungeeCord #636</fullDisplayName><id>2013-08-22_04-08-39</id><inProgress>false</inProgress><keepLog>false</keepLog><number>636</number><queueId>-1</queueId><result>SUCCESS</result><timestamp>1377158919000</timestamp><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/636/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java</affectedPath><affectedPath>proxy/src/main/java/net/md_5/bungee/EntityMap.java</affectedPath><affectedPath>proxy/src/main/java/net/md_5/bungee/netty/PacketDecoder.java</affectedPath><affectedPath>proxy/src/main/java/net/md_5/bungee/netty/ChannelWrapper.java</affectedPath><affectedPath>proxy/src/main/java/net/md_5/bungee/netty/PacketWrapper.java</affectedPath><affectedPath>proxy/src/main/java/net/md_5/bungee/netty/PipelineUtils.java</affectedPath><affectedPath>proxy/src/main/java/net/md_5/bungee/netty/HandlerBoss.java</affectedPath><affectedPath>proxy/src/main/java/net/md_5/bungee/netty/PacketHandler.java</affectedPath><affectedPath>proxy/src/main/java/net/md_5/bungee/UserConnection.java</affectedPath><affectedPath>proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java</affectedPath><commitId>99f361ca77e52b5e95fea4444317ccfc94f4545a</commitId><timestamp>1376954983000</timestamp><author><absoluteUrl>https://hub.spigotmc.org/jenkins/user/md_5</absoluteUrl><fullName>md_5</fullName></author><authorEmail>md_5@live.com.au</authorEmail><comment>Instead of storing packets about to be passed on as a byte array, store them as a Netty buffer, which is likely to be pooled, direct and manually memory managed leading to increased performance and less GC strain. In order to ensure no resources are leaked, we free them at the end of each handle cycle if they have not been passed to a channel for writing. In initial profiles this now causes encryption to be one of the most intensive parts of BungeeCord, however in depth profiling snapshots may provide further routes for optimization.
</comment><date>2013-08-20T09:29:43+1000</date><id>99f361ca77e52b5e95fea4444317ccfc94f4545a</id><msg>Instead of storing packets about to be passed on as a byte array, store</msg><path><editType>edit</editType><file>proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java</file></path><path><editType>edit</editType><file>proxy/src/main/java/net/md_5/bungee/netty/HandlerBoss.java</file></path><path><editType>edit</editType><file>proxy/src/main/java/net/md_5/bungee/UserConnection.java</file></path><path><editType>edit</editType><file>proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java</file></path><path><editType>edit</editType><file>proxy/src/main/java/net/md_5/bungee/EntityMap.java</file></path><path><editType>edit</editType><file>proxy/src/main/java/net/md_5/bungee/netty/ChannelWrapper.java</file></path><path><editType>edit</editType><file>proxy/src/main/java/net/md_5/bungee/netty/PacketWrapper.java</file></path><path><editType>edit</editType><file>proxy/src/main/java/net/md_5/bungee/netty/PacketDecoder.java</file></path><path><editType>edit</editType><file>proxy/src/main/java/net/md_5/bungee/netty/PipelineUtils.java</file></path><path><editType>edit</editType><file>proxy/src/main/java/net/md_5/bungee/netty/PacketHandler.java</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://hub.spigotmc.org/jenkins/user/md_5</absoluteUrl><description></description><fullName>md_5</fullName><id>md_5</id></culprit><mavenVersionUsed>3.0.4</mavenVersionUsed></mavenModuleSetBuild>