<surefireAggregatedReport _class='hudson.maven.reporters.SurefireAggregatedReport'><failCount>1</failCount><skipCount>0</skipCount><totalCount>23</totalCount><urlName>testReport</urlName><childReport><child _class='hudson.maven.MavenBuild'><action _class='hudson.maven.reporters.SurefireReport'><failCount>0</failCount><skipCount>0</skipCount><totalCount>2</totalCount><urlName>testReport</urlName></action><action></action><action _class='hudson.maven.reporters.MavenArtifactRecord'><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-api/1041/mavenArtifacts/</url></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#1041</displayName><duration>16412</duration><estimatedDuration>12390</estimatedDuration><fullDisplayName>BungeeCord » BungeeCord-API #1041</fullDisplayName><id>1041</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1041</number><queueId>-1</queueId><result>SUCCESS</result><timestamp>1423278432327</timestamp><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-api/1041/</url><builtOn></builtOn><changeSet _class='hudson.maven.FilteredChangeLogSet'></changeSet><mavenArtifacts><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-api/1041/mavenArtifacts/</url></mavenArtifacts></child><result _class='hudson.tasks.junit.TestResult'><duration>0.013</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.011</duration><failedSince>0</failedSince><name>testMaps</name><properties></properties><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><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.013</duration><name>net.md_5.bungee.util.CaseInsensitiveTest</name><properties></properties></suite></result></childReport><childReport><child _class='hudson.maven.MavenBuild'><action _class='hudson.maven.reporters.SurefireReport'><failCount>0</failCount><skipCount>0</skipCount><totalCount>1</totalCount><urlName>testReport</urlName></action><action></action><action _class='hudson.maven.reporters.MavenArtifactRecord'><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-config/1041/mavenArtifacts/</url></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#1041</displayName><duration>17863</duration><estimatedDuration>10473</estimatedDuration><fullDisplayName>BungeeCord » BungeeCord-Config #1041</fullDisplayName><id>1041</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1041</number><queueId>-1</queueId><result>SUCCESS</result><timestamp>1423278432362</timestamp><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-config/1041/</url><builtOn></builtOn><changeSet _class='hudson.maven.FilteredChangeLogSet'></changeSet><mavenArtifacts><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-config/1041/mavenArtifacts/</url></mavenArtifacts></child><result _class='hudson.tasks.junit.TestResult'><duration>0.107</duration><empty>false</empty><failCount>0</failCount><passCount>1</passCount><skipCount>0</skipCount><suite><case><age>0</age><className>net.md_5.bungee.config.YamlConfigurationTest</className><duration>0.107</duration><failedSince>0</failedSince><name>testConfig</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.107</duration><name>net.md_5.bungee.config.YamlConfigurationTest</name><properties></properties></suite></result></childReport><childReport><child _class='hudson.maven.MavenBuild'><action _class='hudson.maven.reporters.SurefireReport'><failCount>0</failCount><skipCount>0</skipCount><totalCount>3</totalCount><urlName>testReport</urlName></action><action></action><action _class='hudson.maven.reporters.MavenArtifactRecord'><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-event/1041/mavenArtifacts/</url></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#1041</displayName><duration>14222</duration><estimatedDuration>9617</estimatedDuration><fullDisplayName>BungeeCord » BungeeCord-Event #1041</fullDisplayName><id>1041</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1041</number><queueId>-1</queueId><result>SUCCESS</result><timestamp>1423278432363</timestamp><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-event/1041/</url><builtOn></builtOn><changeSet _class='hudson.maven.FilteredChangeLogSet'></changeSet><mavenArtifacts><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-event/1041/mavenArtifacts/</url></mavenArtifacts></child><result _class='hudson.tasks.junit.TestResult'><duration>0.0050000004</duration><empty>false</empty><failCount>0</failCount><passCount>3</passCount><skipCount>0</skipCount><suite><case><age>0</age><className>net.md_5.bungee.event.EventBusTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testNestedEvents</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.0</duration><name>net.md_5.bungee.event.EventBusTest</name><properties></properties></suite><suite><case><age>0</age><className>net.md_5.bungee.event.EventPriorityTest</className><duration>0.001</duration><failedSince>0</failedSince><name>testPriority</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.001</duration><name>net.md_5.bungee.event.EventPriorityTest</name><properties></properties></suite><suite><case><age>0</age><className>net.md_5.bungee.event.UnregisteringListenerTest</className><duration>0.004</duration><failedSince>0</failedSince><name>testPriority</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.004</duration><name>net.md_5.bungee.event.UnregisteringListenerTest</name><properties></properties></suite></result></childReport><childReport><child _class='hudson.maven.MavenBuild'><action _class='hudson.maven.reporters.SurefireReport'><failCount>1</failCount><skipCount>0</skipCount><totalCount>5</totalCount><urlName>testReport</urlName></action><action></action><action _class='hudson.maven.reporters.MavenArtifactRecord'><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-native/1041/mavenArtifacts/</url></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#1041</displayName><duration>14207</duration><estimatedDuration>11397</estimatedDuration><fullDisplayName>BungeeCord » BungeeCord-Native #1041</fullDisplayName><id>1041</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1041</number><queueId>-1</queueId><result>UNSTABLE</result><timestamp>1423278432404</timestamp><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-native/1041/</url><builtOn></builtOn><changeSet _class='hudson.maven.FilteredChangeLogSet'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>protocol/src/main/java/net/md_5/bungee/protocol/PacketCompressor.java</affectedPath><affectedPath>native/src/main/resources/native-cipher.so</affectedPath><affectedPath>proxy/src/main/java/net/md_5/bungee/compress/PacketCompressor.java</affectedPath><affectedPath>native/src/main/java/net/md_5/bungee/jni/cipher/BungeeCipher.java</affectedPath><affectedPath>native/src/main/java/net/md_5/bungee/jni/NativeCode.java</affectedPath><affectedPath>native/src/main/c/net_md_5_bungee_jni_zlib_NativeCompressImpl.h</affectedPath><affectedPath>native/src/main/java/net/md_5/bungee/jni/zlib/BungeeZlib.java</affectedPath><affectedPath>proxy/src/main/java/net/md_5/bungee/netty/ChannelWrapper.java</affectedPath><affectedPath>proxy/src/main/java/net/md_5/bungee/compress/CompressFactory.java</affectedPath><affectedPath>native/src/main/c/NativeCipherImpl.cpp</affectedPath><affectedPath>native/src/main/c/net_md_5_bungee_jni_cipher_NativeCipherImpl.h</affectedPath><affectedPath>native/src/main/java/net/md_5/bungee/jni/zlib/JavaZlib.java</affectedPath><affectedPath>native/src/main/java/net/md_5/bungee/NativeCipherImpl.java</affectedPath><affectedPath>proxy/src/main/java/net/md_5/bungee/BungeeCord.java</affectedPath><affectedPath>native/src/main/resources/native-compress.so</affectedPath><affectedPath>native/src/main/java/net/md_5/bungee/NativeCipher.java</affectedPath><affectedPath>proxy/src/main/java/net/md_5/bungee/netty/cipher/CipherEncoder.java</affectedPath><affectedPath>protocol/src/main/java/net/md_5/bungee/protocol/PacketDecompressor.java</affectedPath><affectedPath>proxy/src/main/java/net/md_5/bungee/EncryptionUtil.java</affectedPath><affectedPath>native/src/main/java/net/md_5/bungee/jni/zlib/NativeCompressImpl.java</affectedPath><affectedPath>native/src/main/java/net/md_5/bungee/jni/cipher/NativeCipher.java</affectedPath><affectedPath>native/src/main/java/net/md_5/bungee/FallbackCipher.java</affectedPath><affectedPath>native/src/main/java/net/md_5/bungee/jni/cipher/JavaCipher.java</affectedPath><affectedPath>proxy/src/main/java/net/md_5/bungee/netty/cipher/CipherDecoder.java</affectedPath><affectedPath>native/src/main/java/net/md_5/bungee/BungeeCipher.java</affectedPath><affectedPath>native/src/main/java/net/md_5/bungee/jni/zlib/NativeZlib.java</affectedPath><affectedPath>native/src/main/java/net/md_5/bungee/jni/cipher/NativeCipherImpl.java</affectedPath><affectedPath>native/src/main/c/net_md_5_bungee_NativeCipherImpl.h</affectedPath><affectedPath>native/src/main/c/NativeCompressImpl.cpp</affectedPath><affectedPath>protocol/src/main/java/net/md_5/bungee/protocol/Varint21FrameDecoder.java</affectedPath><affectedPath>proxy/src/main/java/net/md_5/bungee/compress/PacketDecompressor.java</affectedPath><affectedPath>native/src/test/java/net/md_5/bungee/NativeCipherTest.java</affectedPath><affectedPath>native/src/test/java/net/md_5/bungee/NativeZlibTest.java</affectedPath><affectedPath>native/compile-native.sh</affectedPath><affectedPath>proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java</affectedPath><commitId>0d569ac0d1ed6f38854fc4cc57cde8d2fade36a9</commitId><timestamp>1423238801000</timestamp><author><absoluteUrl>https://hub.spigotmc.org/jenkins/user/md_5</absoluteUrl><fullName>md_5</fullName></author><authorEmail>git@md-5.net</authorEmail><comment>Refactor native code and implement our own JNI wrapper around zlib.

The previous native cipher code has been refactored so that it may be loaded and used slightly more generically, allowing more native components to be easily added as time goes on.
I have also written a new native code compression module, which wraps around zlib in the same manner that Inflater / Deflater does, however it operates directly on the memory addresses of it's input / output buffers which means that we can save one, or maybe even two copies. To support this, the VarInt decoder has been adjusted to always use a native buffer.
</comment><date>2015-02-07T03:06:41+1100</date><id>0d569ac0d1ed6f38854fc4cc57cde8d2fade36a9</id><msg>Refactor native code and implement our own JNI wrapper around zlib.</msg><path><editType>add</editType><file>native/src/main/java/net/md_5/bungee/jni/zlib/NativeCompressImpl.java</file></path><path><editType>add</editType><file>native/src/main/java/net/md_5/bungee/jni/cipher/NativeCipher.java</file></path><path><editType>add</editType><file>native/src/test/java/net/md_5/bungee/NativeZlibTest.java</file></path><path><editType>add</editType><file>native/src/main/java/net/md_5/bungee/jni/zlib/BungeeZlib.java</file></path><path><editType>delete</editType><file>native/src/main/java/net/md_5/bungee/FallbackCipher.java</file></path><path><editType>add</editType><file>native/src/main/java/net/md_5/bungee/jni/cipher/NativeCipherImpl.java</file></path><path><editType>edit</editType><file>native/src/main/resources/native-cipher.so</file></path><path><editType>edit</editType><file>proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java</file></path><path><editType>edit</editType><file>proxy/src/main/java/net/md_5/bungee/BungeeCord.java</file></path><path><editType>delete</editType><file>native/src/main/java/net/md_5/bungee/BungeeCipher.java</file></path><path><editType>edit</editType><file>native/src/test/java/net/md_5/bungee/NativeCipherTest.java</file></path><path><editType>add</editType><file>proxy/src/main/java/net/md_5/bungee/compress/PacketCompressor.java</file></path><path><editType>delete</editType><file>native/src/main/c/net_md_5_bungee_NativeCipherImpl.h</file></path><path><editType>edit</editType><file>proxy/src/main/java/net/md_5/bungee/EncryptionUtil.java</file></path><path><editType>add</editType><file>proxy/src/main/java/net/md_5/bungee/compress/CompressFactory.java</file></path><path><editType>edit</editType><file>native/src/main/c/NativeCipherImpl.cpp</file></path><path><editType>edit</editType><file>protocol/src/main/java/net/md_5/bungee/protocol/Varint21FrameDecoder.java</file></path><path><editType>delete</editType><file>protocol/src/main/java/net/md_5/bungee/protocol/PacketCompressor.java</file></path><path><editType>add</editType><file>native/src/main/java/net/md_5/bungee/jni/cipher/JavaCipher.java</file></path><path><editType>delete</editType><file>native/src/main/java/net/md_5/bungee/NativeCipher.java</file></path><path><editType>add</editType><file>native/src/main/c/NativeCompressImpl.cpp</file></path><path><editType>add</editType><file>native/src/main/resources/native-compress.so</file></path><path><editType>edit</editType><file>proxy/src/main/java/net/md_5/bungee/netty/cipher/CipherDecoder.java</file></path><path><editType>add</editType><file>native/src/main/java/net/md_5/bungee/jni/zlib/NativeZlib.java</file></path><path><editType>delete</editType><file>protocol/src/main/java/net/md_5/bungee/protocol/PacketDecompressor.java</file></path><path><editType>add</editType><file>native/src/main/c/net_md_5_bungee_jni_cipher_NativeCipherImpl.h</file></path><path><editType>edit</editType><file>proxy/src/main/java/net/md_5/bungee/netty/cipher/CipherEncoder.java</file></path><path><editType>add</editType><file>native/src/main/c/net_md_5_bungee_jni_zlib_NativeCompressImpl.h</file></path><path><editType>add</editType><file>native/src/main/java/net/md_5/bungee/jni/cipher/BungeeCipher.java</file></path><path><editType>delete</editType><file>native/src/main/java/net/md_5/bungee/NativeCipherImpl.java</file></path><path><editType>add</editType><file>native/src/main/java/net/md_5/bungee/jni/zlib/JavaZlib.java</file></path><path><editType>add</editType><file>proxy/src/main/java/net/md_5/bungee/compress/PacketDecompressor.java</file></path><path><editType>add</editType><file>native/src/main/java/net/md_5/bungee/jni/NativeCode.java</file></path><path><editType>edit</editType><file>native/compile-native.sh</file></path><path><editType>edit</editType><file>proxy/src/main/java/net/md_5/bungee/netty/ChannelWrapper.java</file></path></item></changeSet><culprit><absoluteUrl>https://hub.spigotmc.org/jenkins/user/md_5</absoluteUrl><fullName>md_5</fullName></culprit><mavenArtifacts><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-native/1041/mavenArtifacts/</url></mavenArtifacts></child><result _class='hudson.tasks.junit.TestResult'><duration>0.27100003</duration><empty>false</empty><failCount>1</failCount><passCount>4</passCount><skipCount>0</skipCount><suite><case><age>0</age><className>net.md_5.bungee.NativeCipherTest</className><duration>0.187</duration><failedSince>0</failedSince><name>testJDK</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.NativeCipherTest</className><duration>0.047</duration><failedSince>0</failedSince><name>testJDKBenchmark</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.NativeCipherTest</className><duration>0.011</duration><failedSince>0</failedSince><name>testOpenSSL</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.NativeCipherTest</className><duration>0.022</duration><failedSince>0</failedSince><name>testOpenSSLBenchmark</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.26700002</duration><name>net.md_5.bungee.NativeCipherTest</name><properties></properties></suite><suite><case><age>1</age><className>net.md_5.bungee.NativeZlibTest</className><duration>0.004</duration><errorDetails>/tmp/bungeecord-native-compress5615287804332788107.so: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by /tmp/bungeecord-native-compress5615287804332788107.so)</errorDetails><errorStackTrace>java.lang.UnsatisfiedLinkError: /tmp/bungeecord-native-compress5615287804332788107.so: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by /tmp/bungeecord-native-compress5615287804332788107.so)
	at java.lang.ClassLoader$NativeLibrary.load(Native Method)
	at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965)
	at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890)
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1851)
	at java.lang.Runtime.load0(Runtime.java:795)
	at java.lang.System.load(System.java:1062)
	at net.md_5.bungee.jni.NativeCode.load(NativeCode.java:68)
	at net.md_5.bungee.jni.NativeCode.&lt;init&gt;(NativeCode.java:26)
	at net.md_5.bungee.NativeZlibTest.&lt;init&gt;(NativeZlibTest.java:18)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
	at org.junit.runners.BlockJUnit4ClassRunner.createTest(BlockJUnit4ClassRunner.java:195)
	at org.junit.runners.BlockJUnit4ClassRunner$1.runReflectiveCall(BlockJUnit4ClassRunner.java:244)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.BlockJUnit4ClassRunner.methodBlock(BlockJUnit4ClassRunner.java:241)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
	at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:123)
	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:104)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:164)
	at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:110)
	at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:175)
	at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcessWhenForked(SurefireStarter.java:107)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:68)
</errorStackTrace><failedSince>1041</failedSince><name>doTest</name><properties></properties><skipped>false</skipped><status>FAILED</status></case><duration>0.004</duration><name>net.md_5.bungee.NativeZlibTest</name><properties></properties></suite></result></childReport><childReport><child _class='hudson.maven.MavenBuild'><action _class='hudson.maven.reporters.SurefireReport'><failCount>0</failCount><skipCount>0</skipCount><totalCount>12</totalCount><urlName>testReport</urlName></action><action></action><action _class='hudson.maven.reporters.MavenArtifactRecord'><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-proxy/1041/mavenArtifacts/</url></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#1041</displayName><duration>9895</duration><estimatedDuration>6352</estimatedDuration><fullDisplayName>BungeeCord » BungeeCord-Proxy #1041</fullDisplayName><id>1041</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1041</number><queueId>-1</queueId><result>SUCCESS</result><timestamp>1423278432395</timestamp><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-proxy/1041/</url><builtOn></builtOn><changeSet _class='hudson.maven.FilteredChangeLogSet'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>protocol/src/main/java/net/md_5/bungee/protocol/PacketCompressor.java</affectedPath><affectedPath>native/src/main/resources/native-cipher.so</affectedPath><affectedPath>proxy/src/main/java/net/md_5/bungee/compress/PacketCompressor.java</affectedPath><affectedPath>native/src/main/java/net/md_5/bungee/jni/cipher/BungeeCipher.java</affectedPath><affectedPath>native/src/main/java/net/md_5/bungee/jni/NativeCode.java</affectedPath><affectedPath>native/src/main/c/net_md_5_bungee_jni_zlib_NativeCompressImpl.h</affectedPath><affectedPath>native/src/main/java/net/md_5/bungee/jni/zlib/BungeeZlib.java</affectedPath><affectedPath>proxy/src/main/java/net/md_5/bungee/netty/ChannelWrapper.java</affectedPath><affectedPath>proxy/src/main/java/net/md_5/bungee/compress/CompressFactory.java</affectedPath><affectedPath>native/src/main/c/NativeCipherImpl.cpp</affectedPath><affectedPath>native/src/main/c/net_md_5_bungee_jni_cipher_NativeCipherImpl.h</affectedPath><affectedPath>native/src/main/java/net/md_5/bungee/jni/zlib/JavaZlib.java</affectedPath><affectedPath>native/src/main/java/net/md_5/bungee/NativeCipherImpl.java</affectedPath><affectedPath>proxy/src/main/java/net/md_5/bungee/BungeeCord.java</affectedPath><affectedPath>native/src/main/resources/native-compress.so</affectedPath><affectedPath>native/src/main/java/net/md_5/bungee/NativeCipher.java</affectedPath><affectedPath>proxy/src/main/java/net/md_5/bungee/netty/cipher/CipherEncoder.java</affectedPath><affectedPath>protocol/src/main/java/net/md_5/bungee/protocol/PacketDecompressor.java</affectedPath><affectedPath>proxy/src/main/java/net/md_5/bungee/EncryptionUtil.java</affectedPath><affectedPath>native/src/main/java/net/md_5/bungee/jni/zlib/NativeCompressImpl.java</affectedPath><affectedPath>native/src/main/java/net/md_5/bungee/jni/cipher/NativeCipher.java</affectedPath><affectedPath>native/src/main/java/net/md_5/bungee/FallbackCipher.java</affectedPath><affectedPath>native/src/main/java/net/md_5/bungee/jni/cipher/JavaCipher.java</affectedPath><affectedPath>proxy/src/main/java/net/md_5/bungee/netty/cipher/CipherDecoder.java</affectedPath><affectedPath>native/src/main/java/net/md_5/bungee/BungeeCipher.java</affectedPath><affectedPath>native/src/main/java/net/md_5/bungee/jni/zlib/NativeZlib.java</affectedPath><affectedPath>native/src/main/java/net/md_5/bungee/jni/cipher/NativeCipherImpl.java</affectedPath><affectedPath>native/src/main/c/net_md_5_bungee_NativeCipherImpl.h</affectedPath><affectedPath>native/src/main/c/NativeCompressImpl.cpp</affectedPath><affectedPath>protocol/src/main/java/net/md_5/bungee/protocol/Varint21FrameDecoder.java</affectedPath><affectedPath>proxy/src/main/java/net/md_5/bungee/compress/PacketDecompressor.java</affectedPath><affectedPath>native/src/test/java/net/md_5/bungee/NativeCipherTest.java</affectedPath><affectedPath>native/src/test/java/net/md_5/bungee/NativeZlibTest.java</affectedPath><affectedPath>native/compile-native.sh</affectedPath><affectedPath>proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java</affectedPath><commitId>0d569ac0d1ed6f38854fc4cc57cde8d2fade36a9</commitId><timestamp>1423238801000</timestamp><author><absoluteUrl>https://hub.spigotmc.org/jenkins/user/md_5</absoluteUrl><fullName>md_5</fullName></author><authorEmail>git@md-5.net</authorEmail><comment>Refactor native code and implement our own JNI wrapper around zlib.

The previous native cipher code has been refactored so that it may be loaded and used slightly more generically, allowing more native components to be easily added as time goes on.
I have also written a new native code compression module, which wraps around zlib in the same manner that Inflater / Deflater does, however it operates directly on the memory addresses of it's input / output buffers which means that we can save one, or maybe even two copies. To support this, the VarInt decoder has been adjusted to always use a native buffer.
</comment><date>2015-02-07T03:06:41+1100</date><id>0d569ac0d1ed6f38854fc4cc57cde8d2fade36a9</id><msg>Refactor native code and implement our own JNI wrapper around zlib.</msg><path><editType>add</editType><file>native/src/main/java/net/md_5/bungee/jni/zlib/NativeCompressImpl.java</file></path><path><editType>add</editType><file>native/src/main/java/net/md_5/bungee/jni/cipher/NativeCipher.java</file></path><path><editType>add</editType><file>native/src/test/java/net/md_5/bungee/NativeZlibTest.java</file></path><path><editType>add</editType><file>native/src/main/java/net/md_5/bungee/jni/zlib/BungeeZlib.java</file></path><path><editType>delete</editType><file>native/src/main/java/net/md_5/bungee/FallbackCipher.java</file></path><path><editType>add</editType><file>native/src/main/java/net/md_5/bungee/jni/cipher/NativeCipherImpl.java</file></path><path><editType>edit</editType><file>native/src/main/resources/native-cipher.so</file></path><path><editType>edit</editType><file>proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java</file></path><path><editType>edit</editType><file>proxy/src/main/java/net/md_5/bungee/BungeeCord.java</file></path><path><editType>delete</editType><file>native/src/main/java/net/md_5/bungee/BungeeCipher.java</file></path><path><editType>edit</editType><file>native/src/test/java/net/md_5/bungee/NativeCipherTest.java</file></path><path><editType>add</editType><file>proxy/src/main/java/net/md_5/bungee/compress/PacketCompressor.java</file></path><path><editType>delete</editType><file>native/src/main/c/net_md_5_bungee_NativeCipherImpl.h</file></path><path><editType>edit</editType><file>proxy/src/main/java/net/md_5/bungee/EncryptionUtil.java</file></path><path><editType>add</editType><file>proxy/src/main/java/net/md_5/bungee/compress/CompressFactory.java</file></path><path><editType>edit</editType><file>native/src/main/c/NativeCipherImpl.cpp</file></path><path><editType>edit</editType><file>protocol/src/main/java/net/md_5/bungee/protocol/Varint21FrameDecoder.java</file></path><path><editType>delete</editType><file>protocol/src/main/java/net/md_5/bungee/protocol/PacketCompressor.java</file></path><path><editType>add</editType><file>native/src/main/java/net/md_5/bungee/jni/cipher/JavaCipher.java</file></path><path><editType>delete</editType><file>native/src/main/java/net/md_5/bungee/NativeCipher.java</file></path><path><editType>add</editType><file>native/src/main/c/NativeCompressImpl.cpp</file></path><path><editType>add</editType><file>native/src/main/resources/native-compress.so</file></path><path><editType>edit</editType><file>proxy/src/main/java/net/md_5/bungee/netty/cipher/CipherDecoder.java</file></path><path><editType>add</editType><file>native/src/main/java/net/md_5/bungee/jni/zlib/NativeZlib.java</file></path><path><editType>delete</editType><file>protocol/src/main/java/net/md_5/bungee/protocol/PacketDecompressor.java</file></path><path><editType>add</editType><file>native/src/main/c/net_md_5_bungee_jni_cipher_NativeCipherImpl.h</file></path><path><editType>edit</editType><file>proxy/src/main/java/net/md_5/bungee/netty/cipher/CipherEncoder.java</file></path><path><editType>add</editType><file>native/src/main/c/net_md_5_bungee_jni_zlib_NativeCompressImpl.h</file></path><path><editType>add</editType><file>native/src/main/java/net/md_5/bungee/jni/cipher/BungeeCipher.java</file></path><path><editType>delete</editType><file>native/src/main/java/net/md_5/bungee/NativeCipherImpl.java</file></path><path><editType>add</editType><file>native/src/main/java/net/md_5/bungee/jni/zlib/JavaZlib.java</file></path><path><editType>add</editType><file>proxy/src/main/java/net/md_5/bungee/compress/PacketDecompressor.java</file></path><path><editType>add</editType><file>native/src/main/java/net/md_5/bungee/jni/NativeCode.java</file></path><path><editType>edit</editType><file>native/compile-native.sh</file></path><path><editType>edit</editType><file>proxy/src/main/java/net/md_5/bungee/netty/ChannelWrapper.java</file></path></item></changeSet><culprit><absoluteUrl>https://hub.spigotmc.org/jenkins/user/md_5</absoluteUrl><fullName>md_5</fullName></culprit><mavenArtifacts><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-proxy/1041/mavenArtifacts/</url></mavenArtifacts></child><result _class='hudson.tasks.junit.TestResult'><duration>1.491</duration><empty>false</empty><failCount>0</failCount><passCount>12</passCount><skipCount>0</skipCount><suite><case><age>0</age><className>net.md_5.bungee.ThrottleTest</className><duration>0.023</duration><failedSince>0</failedSince><name>testThrottle</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.023</duration><name>net.md_5.bungee.ThrottleTest</name><properties></properties></suite><suite><case><age>0</age><className>net.md_5.bungee.chat.ComponentsTest</className><duration>0.029</duration><failedSince>0</failedSince><name>testTranslateComponent</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testBasicComponent</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.chat.ComponentsTest</className><duration>0.057</duration><failedSince>0</failedSince><name>testLoopComplex</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testLoopSimple</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.chat.ComponentsTest</className><duration>0.001</duration><failedSince>0</failedSince><name>testBuilder</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.chat.ComponentsTest</className><duration>0.001</duration><failedSince>0</failedSince><name>testRepeatedError</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.chat.ComponentsTest</className><duration>0.001</duration><failedSince>0</failedSince><name>testRepeated</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.chat.ComponentsTest</className><duration>0.001</duration><failedSince>0</failedSince><name>testLegacyConverter</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.09</duration><name>net.md_5.bungee.chat.ComponentsTest</name><properties></properties></suite><suite><case><age>0</age><className>net.md_5.bungee.scheduler.SchedulerTest</className><duration>0.123</duration><failedSince>0</failedSince><name>testRun</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.scheduler.SchedulerTest</className><duration>0.501</duration><failedSince>0</failedSince><name>testScheduleAndRepeat</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.scheduler.SchedulerTest</className><duration>0.754</duration><failedSince>0</failedSince><name>testCancel</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>1.378</duration><name>net.md_5.bungee.scheduler.SchedulerTest</name><properties></properties></suite></result></childReport></surefireAggregatedReport>