Index: java/src/org/apache/tomcat/jni/Library.java |
diff --git a/java/src/org/apache/tomcat/jni/Library.java b/java/src/org/apache/tomcat/jni/Library.java |
deleted file mode 100644 |
index 990832c791fc28bb9a4dd927d6f185b97781da47..0000000000000000000000000000000000000000 |
--- a/java/src/org/apache/tomcat/jni/Library.java |
+++ /dev/null |
@@ -1,224 +0,0 @@ |
-/* |
- * Licensed to the Apache Software Foundation (ASF) under one or more |
- * contributor license agreements. See the NOTICE file distributed with |
- * this work for additional information regarding copyright ownership. |
- * The ASF licenses this file to You under the Apache License, Version 2.0 |
- * (the "License"); you may not use this file except in compliance with |
- * the License. You may obtain a copy of the License at |
- * |
- * http://www.apache.org/licenses/LICENSE-2.0 |
- * |
- * Unless required by applicable law or agreed to in writing, software |
- * distributed under the License is distributed on an "AS IS" BASIS, |
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
- * See the License for the specific language governing permissions and |
- * limitations under the License. |
- */ |
- |
-package org.apache.tomcat.jni; |
- |
-import java.io.File; |
- |
-/** Library |
- * |
- * @author Mladen Turk |
- */ |
-public final class Library { |
- |
- /* Default library names */ |
- private static final String [] NAMES = {"netty-tcnative", "libnetty-tcnative", "netty-tcnative-1", "libnetty-tcnative-1"}; |
- /* |
- * A handle to the unique Library singleton instance. |
- */ |
- private static Library _instance = null; |
- |
- private Library() throws Exception { |
- boolean loaded = false; |
- String path = System.getProperty("java.library.path"); |
- String [] paths = path.split(File.pathSeparator); |
- StringBuilder err = new StringBuilder(); |
- for (int i = 0; i < NAMES.length; i++) { |
- try { |
- System.loadLibrary(NAMES[i]); |
- loaded = true; |
- } catch (ThreadDeath | VirtualMachineError t) { |
- throw t; |
- } catch (Throwable t) { |
- String name = System.mapLibraryName(NAMES[i]); |
- for (int j = 0; j < paths.length; j++) { |
- java.io.File fd = new java.io.File(paths[j] , name); |
- if (fd.exists()) { |
- // File exists but failed to load |
- throw t; |
- } |
- } |
- if (i > 0) { |
- err.append(", "); |
- } |
- err.append(t.getMessage()); |
- } |
- if (loaded) { |
- break; |
- } |
- } |
- if (!loaded) { |
- StringBuilder names = new StringBuilder(); |
- for (String name : NAMES) { |
- names.append(name); |
- names.append(", "); |
- } |
- throw new LibraryNotFoundError(names.substring(0, names.length() -2), err.toString()); |
- } |
- } |
- |
- private Library(String libraryName) |
- { |
- if (!"provided".equals(libraryName)) { |
- System.loadLibrary(libraryName); |
- } |
- } |
- |
- /* create global TCN's APR pool |
- * This has to be the first call to TCN library. |
- */ |
- private static native boolean initialize(); |
- /* destroy global TCN's APR pool |
- * This has to be the last call to TCN library. |
- */ |
- public static native void terminate(); |
- /* Internal function for loading APR Features */ |
- private static native boolean has(int what); |
- /* Internal function for loading APR Features */ |
- private static native int version(int what); |
- /* Internal function for loading APR sizes */ |
- private static native int size(int what); |
- |
- /* TCN_MAJOR_VERSION */ |
- public static int TCN_MAJOR_VERSION = 0; |
- /* TCN_MINOR_VERSION */ |
- public static int TCN_MINOR_VERSION = 0; |
- /* TCN_PATCH_VERSION */ |
- public static int TCN_PATCH_VERSION = 0; |
- /* TCN_IS_DEV_VERSION */ |
- public static int TCN_IS_DEV_VERSION = 0; |
- /* APR_MAJOR_VERSION */ |
- public static int APR_MAJOR_VERSION = 0; |
- /* APR_MINOR_VERSION */ |
- public static int APR_MINOR_VERSION = 0; |
- /* APR_PATCH_VERSION */ |
- public static int APR_PATCH_VERSION = 0; |
- /* APR_IS_DEV_VERSION */ |
- public static int APR_IS_DEV_VERSION = 0; |
- |
- /* TCN_VERSION_STRING */ |
- public static native String versionString(); |
- /* APR_VERSION_STRING */ |
- public static native String aprVersionString(); |
- |
- /* APR Feature Macros */ |
- public static boolean APR_HAVE_IPV6 = false; |
- public static boolean APR_HAS_SHARED_MEMORY = false; |
- public static boolean APR_HAS_THREADS = false; |
- public static boolean APR_HAS_SENDFILE = false; |
- public static boolean APR_HAS_MMAP = false; |
- public static boolean APR_HAS_FORK = false; |
- public static boolean APR_HAS_RANDOM = false; |
- public static boolean APR_HAS_OTHER_CHILD = false; |
- public static boolean APR_HAS_DSO = false; |
- public static boolean APR_HAS_SO_ACCEPTFILTER = false; |
- public static boolean APR_HAS_UNICODE_FS = false; |
- public static boolean APR_HAS_PROC_INVOKED = false; |
- public static boolean APR_HAS_USER = false; |
- public static boolean APR_HAS_LARGE_FILES = false; |
- public static boolean APR_HAS_XTHREAD_FILES = false; |
- public static boolean APR_HAS_OS_UUID = false; |
- /* Are we big endian? */ |
- public static boolean APR_IS_BIGENDIAN = false; |
- /* APR sets APR_FILES_AS_SOCKETS to 1 on systems where it is possible |
- * to poll on files/pipes. |
- */ |
- public static boolean APR_FILES_AS_SOCKETS = false; |
- /* This macro indicates whether or not EBCDIC is the native character set. |
- */ |
- public static boolean APR_CHARSET_EBCDIC = false; |
- /* Is the TCP_NODELAY socket option inherited from listening sockets? |
- */ |
- public static boolean APR_TCP_NODELAY_INHERITED = false; |
- /* Is the O_NONBLOCK flag inherited from listening sockets? |
- */ |
- public static boolean APR_O_NONBLOCK_INHERITED = false; |
- |
- |
- public static int APR_SIZEOF_VOIDP; |
- public static int APR_PATH_MAX; |
- public static int APRMAXHOSTLEN; |
- public static int APR_MAX_IOVEC_SIZE; |
- public static int APR_MAX_SECS_TO_LINGER; |
- public static int APR_MMAP_THRESHOLD; |
- public static int APR_MMAP_LIMIT; |
- |
- /* return global TCN's APR pool */ |
- public static native long globalPool(); |
- |
- /** |
- * Setup any APR internal data structures. This MUST be the first function |
- * called for any APR library. |
- * @param libraryName the name of the library to load |
- */ |
- public static boolean initialize(String libraryName) |
- throws Exception |
- { |
- if (_instance == null) { |
- if (libraryName == null) |
- _instance = new Library(); |
- else |
- _instance = new Library(libraryName); |
- TCN_MAJOR_VERSION = version(0x01); |
- TCN_MINOR_VERSION = version(0x02); |
- TCN_PATCH_VERSION = version(0x03); |
- TCN_IS_DEV_VERSION = version(0x04); |
- APR_MAJOR_VERSION = version(0x11); |
- APR_MINOR_VERSION = version(0x12); |
- APR_PATCH_VERSION = version(0x13); |
- APR_IS_DEV_VERSION = version(0x14); |
- |
- APR_SIZEOF_VOIDP = size(1); |
- APR_PATH_MAX = size(2); |
- APRMAXHOSTLEN = size(3); |
- APR_MAX_IOVEC_SIZE = size(4); |
- APR_MAX_SECS_TO_LINGER = size(5); |
- APR_MMAP_THRESHOLD = size(6); |
- APR_MMAP_LIMIT = size(7); |
- |
- APR_HAVE_IPV6 = has(0); |
- APR_HAS_SHARED_MEMORY = has(1); |
- APR_HAS_THREADS = has(2); |
- APR_HAS_SENDFILE = has(3); |
- APR_HAS_MMAP = has(4); |
- APR_HAS_FORK = has(5); |
- APR_HAS_RANDOM = has(6); |
- APR_HAS_OTHER_CHILD = has(7); |
- APR_HAS_DSO = has(8); |
- APR_HAS_SO_ACCEPTFILTER = has(9); |
- APR_HAS_UNICODE_FS = has(10); |
- APR_HAS_PROC_INVOKED = has(11); |
- APR_HAS_USER = has(12); |
- APR_HAS_LARGE_FILES = has(13); |
- APR_HAS_XTHREAD_FILES = has(14); |
- APR_HAS_OS_UUID = has(15); |
- APR_IS_BIGENDIAN = has(16); |
- APR_FILES_AS_SOCKETS = has(17); |
- APR_CHARSET_EBCDIC = has(18); |
- APR_TCP_NODELAY_INHERITED = has(19); |
- APR_O_NONBLOCK_INHERITED = has(20); |
- if (APR_MAJOR_VERSION < 1) { |
- throw new UnsatisfiedLinkError("Unsupported APR Version (" + |
- aprVersionString() + ")"); |
- } |
- if (!APR_HAS_THREADS) { |
- throw new UnsatisfiedLinkError("Missing APR_HAS_THREADS"); |
- } |
- } |
- return initialize(); |
- } |
-} |