Package org.apache.sshd.agent.unix
Class AprLibrary
- java.lang.Object
-
- org.apache.sshd.agent.unix.AprLibrary
-
public final class AprLibrary extends java.lang.Object
Internal singleton used for initializing correctly the APR native library and the associated root memory pool.
It'll finalize nicely the native resources (libraries and memory pools).
Each memory pool used in the APR transport module needs to be children of the root poolgetRootPool()
.
-
-
Field Summary
Fields Modifier and Type Field Description private static AprLibrary
library
private long
pool
-
Constructor Summary
Constructors Modifier Constructor Description private
AprLibrary()
APR library singleton constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static void
chmodOwner(java.lang.String authSocket, boolean execute)
(package private) static java.lang.String
createLocalSocketAddress()
protected void
finalize()
static AprLibrary
getInstance()
get the shared instance of APR library, if none, initialize one(package private) long
getRootPool()
get the package wide root pool, the mother of all the pool created in APR transport module.private static void
initialize()
initialize the APR Library by loading the associated native libraries and creating the associated singletonstatic boolean
isInitialized()
is the APR library was initialized.(package private) static void
secureLocalSocket(java.lang.String authSocket, long handle)
-
-
-
Field Detail
-
library
private static AprLibrary library
-
pool
private final long pool
-
-
Constructor Detail
-
AprLibrary
private AprLibrary()
APR library singleton constructor. Called only when accessing the singleton the first time. It is initializing an APR memory pool for the whole package (a.k.a mother or root pool).- Throws:
java.lang.RuntimeException
- if failed to load the library. Note: callers should inspect the cause of the exception in case anError
was thrown (e.g.,UnsatisfiedLinkError
).
-
-
Method Detail
-
getInstance
public static AprLibrary getInstance()
get the shared instance of APR library, if none, initialize one- Returns:
- the current APR library singleton
-
initialize
private static void initialize()
initialize the APR Library by loading the associated native libraries and creating the associated singleton
-
isInitialized
public static boolean isInitialized()
is the APR library was initialized.- Returns:
- true if the Library is initialized, false otherwise
-
finalize
protected void finalize() throws java.lang.Throwable
- Overrides:
finalize
in classjava.lang.Object
- Throws:
java.lang.Throwable
-
getRootPool
long getRootPool()
get the package wide root pool, the mother of all the pool created in APR transport module.- Returns:
- number identifying the root pool
-
createLocalSocketAddress
static java.lang.String createLocalSocketAddress() throws java.io.IOException
- Throws:
java.io.IOException
-
secureLocalSocket
static void secureLocalSocket(java.lang.String authSocket, long handle) throws java.io.IOException
- Throws:
java.io.IOException
-
chmodOwner
private static void chmodOwner(java.lang.String authSocket, boolean execute) throws java.io.IOException
- Throws:
java.io.IOException
-
-