Andrew Steinborn
9daa6c3a64
Prettify JNI stuff.
2019-01-11 14:13:13 -05:00
Andrew Steinborn
1ddeb85f60
Try to reduce JNI calls into compressor.
...
Comparatively speaking, JNI calls are very expensive, so we want to
reduce them as much as possible.
2019-01-10 21:10:00 -05:00
Andrew Steinborn
466d06216d
Fix minor bug in JavaVelocityCipher
2018-12-30 11:08:13 -05:00
Andrew Steinborn
25773cd366
Fix typo, clarification, pre-size buffer in ensureCompatible().
2018-12-30 07:18:19 -05:00
Andrew Steinborn
8588e7f1fe
Optimize native handling further.
...
We now try to work within the boundaries given by the native. In the
case of Java natives, we work with byte arrays. With natives, always use
direct buffers.
However, the numbers do favor the natives, since they work with direct
byte buffers, without any copying. For the most part, this commit is
intended to improve the lives of Velocity users on Windows.
2018-12-30 06:16:04 -05:00
Andrew Steinborn
095a478440
Always ensure we don't pass a heap ByteBuf to the natives.
2018-12-30 04:53:47 -05:00
Andrew Steinborn
1c50922cba
Make sure we can get memory addresses before we think about natives.
2018-12-30 04:33:10 -05:00
Andrew Steinborn
9bbe25fc90
Improve efficiency of Java implementation of natives.
2018-12-28 13:02:46 -05:00
Andrew Steinborn
2ab84f3775
Fix missing throws clause
2018-12-24 12:19:40 -05:00
Andrew Steinborn
e690d88fa0
Generic MBEDTLS_ROOT
2018-12-24 12:18:36 -05:00
Andrew Steinborn
41592afade
Allow native crypto to always be selected.
...
This removes the need to patch Velocity to enable the native crypto
support, if compiled.
2018-12-23 23:02:51 -05:00
Andrew Steinborn
868976e09c
Add Javadoc and remove all Checkstyle issues from API and natives.
2018-11-15 19:04:39 -05:00
Andrew Steinborn
1310cd2c53
Mix of Checkstyle and SonarLint.
2018-10-28 03:18:15 -04:00
Andrew Steinborn
25b5e00125
Reformat with Google code style and enforce Checkstyle.
...
Fixes #125
2018-10-27 23:45:36 -04:00
Andrew Steinborn
32829c5637
Checker Framework integration ( #126 )
2018-10-27 21:45:42 -04:00
Andrew Steinborn
50c27066e2
Import cleanup
2018-09-19 14:56:49 -04:00
Andrew Steinborn
fc48db62b5
Improve native initialization logic, again
2018-09-17 15:02:49 -04:00
Andrew Steinborn
e75ec71b32
Improve native initialization logic
...
This uses the double-check pattern as recommended in Effective Java.
2018-09-17 01:03:17 -04:00
Andrew Steinborn
168c36facf
Bring to latest master
2018-08-25 01:13:00 -04:00
Andrew Steinborn
a37a0d6665
Merge branch 'master' into native-crypto
...
# Conflicts:
# native/src/main/java/com/velocitypowered/natives/util/Natives.java
2018-08-25 01:12:26 -04:00
kashike
6a3a5a0458
minor shuffle to log messages
2018-08-12 01:36:37 -07:00
Andrew Steinborn
8aa1fe524e
Native cryptography support using mbed TLS
2018-08-04 23:46:41 -04:00
Andrew Steinborn
9438d087e2
Refactor cipher logic.
2018-08-04 00:09:25 -04:00
Andrew Steinborn
68d315d1d3
Improvements for natives.
2018-08-02 23:52:21 -04:00
Andrew Steinborn
4bc4a1ec6a
Use singular plurals, clean up some stuff.
2018-08-02 14:07:32 -04:00
Andrew Steinborn
2e59138428
Cleaned up native code.
2018-08-02 00:43:38 -04:00
Andrew Steinborn
850b2f7958
Add disposal checks.
2018-08-01 23:14:22 -04:00
Andrew Steinborn
fb4e6fd8f1
JNI native zlib compression 🔥
2018-08-01 22:22:09 -04:00
Andrew Steinborn
22dd4bbb99
Split natives. Add proper disposal for natives.
2018-08-01 00:20:51 -04:00