geforkt von Mirrors/Velocity
Fix typo, clarification, pre-size buffer in ensureCompatible().
Dieser Commit ist enthalten in:
Ursprung
ae850443ad
Commit
25773cd366
@ -10,7 +10,7 @@ public class MoreByteBufUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Ensures the {@code buf} will work with the specified {@code nativeThing}. After this function
|
* Ensures the {@code buf} will work with the specified {@code nativeStuff}. After this function
|
||||||
* is called, you should decrement the reference count on the {@code buf} with
|
* is called, you should decrement the reference count on the {@code buf} with
|
||||||
* {@link ByteBuf#release()}.
|
* {@link ByteBuf#release()}.
|
||||||
*
|
*
|
||||||
@ -21,12 +21,13 @@ public class MoreByteBufUtils {
|
|||||||
*/
|
*/
|
||||||
public static ByteBuf ensureCompatible(ByteBufAllocator alloc, Native nativeStuff, ByteBuf buf) {
|
public static ByteBuf ensureCompatible(ByteBufAllocator alloc, Native nativeStuff, ByteBuf buf) {
|
||||||
if (!nativeStuff.isNative() || buf.hasMemoryAddress()) {
|
if (!nativeStuff.isNative() || buf.hasMemoryAddress()) {
|
||||||
// Will always work in either case.
|
// Will always work in either case. JNI code demands a memory address, and if we have a Java
|
||||||
|
// fallback, it uses byte arrays in all cases.
|
||||||
return buf.retain();
|
return buf.retain();
|
||||||
}
|
}
|
||||||
|
|
||||||
// It's not, so we must make a direct copy.
|
// It's not, so we must make a direct copy.
|
||||||
ByteBuf newBuf = alloc.directBuffer();
|
ByteBuf newBuf = alloc.directBuffer(buf.readableBytes());
|
||||||
newBuf.writeBytes(buf);
|
newBuf.writeBytes(buf);
|
||||||
return newBuf;
|
return newBuf;
|
||||||
}
|
}
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren