From c5f606e63230b32bcecf0ffdf037f3da2cb2300d Mon Sep 17 00:00:00 2001 From: Trustin Lee Date: Tue, 5 Mar 2013 18:06:01 +0900 Subject: [PATCH] Warn in case of incomplete low-level API --- .../io/netty/util/internal/PlatformDependent.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/common/src/main/java/io/netty/util/internal/PlatformDependent.java b/common/src/main/java/io/netty/util/internal/PlatformDependent.java index 2450c34a77..c50e7606a9 100644 --- a/common/src/main/java/io/netty/util/internal/PlatformDependent.java +++ b/common/src/main/java/io/netty/util/internal/PlatformDependent.java @@ -16,6 +16,8 @@ package io.netty.util.internal; import io.netty.util.internal.chmv8.ConcurrentHashMapV8; +import io.netty.util.internal.logging.InternalLogger; +import io.netty.util.internal.logging.InternalLoggerFactory; import java.lang.reflect.Field; import java.net.InetSocketAddress; @@ -56,6 +58,16 @@ public final class PlatformDependent { private static final boolean HAS_JAVASSIST = hasJavassist0(); + static { + InternalLogger logger = InternalLoggerFactory.getInstance(PlatformDependent.class); + if (!hasUnsafe()) { + logger.warn( + "Your platform does not provide complete low-level API for accessing direct buffers reliably. " + + "Unless explicitly requested, heap buffer will always be preferred " + + "to avoid potential risk of getting OutOfMemoryError."); + } + } + /** * Returns {@code true} if and only if the current platform is Android */