final class ObjectTable extends Object
Modifier and Type | Class and Description |
---|---|
private class |
ObjectTable.DgcServerImpl |
private class |
ObjectTable.LeaseChecker |
(package private) static class |
ObjectTable.NoSuchObject |
Modifier and Type | Field and Description |
---|---|
private ImplRefManager |
implRefManager
table of references to impls exported with DGC
|
private JvmLifeSupport |
keepAliveCount
number of objects exported with keepAlive == true
|
private Thread |
leaseChecker
thread to check for expired leases
|
private java.util.concurrent.ConcurrentMap<Uuid,Lease> |
leaseTable
maps client ID to Lease (lock guards leaseChecker too)
|
private static Logger |
logger |
private Object |
requestDispatchersLock
lock to serialize request dispatcher reservation per export, so
that a partial export will not cause another export to fail
unnecessarily
|
private Object |
runLock
expired lease thread guard
|
private boolean |
running
flag to indicate expired lease thread started
|
Constructor and Description |
---|
ObjectTable() |
Modifier and Type | Method and Description |
---|---|
(package private) RequestDispatcher |
createRequestDispatcher(Unreferenced unrefCallback) |
(package private) Target |
export(Remote impl,
RequestDispatcher[] requestDispatchers,
boolean allowDGC,
boolean keepAlive,
Uuid id) |
(package private) DgcServer |
getDgcServer(DgcRequestDispatcher dgdRD) |
private DgcRequestDispatcher |
getRD(RequestDispatcher requestDispatcher) |
(package private) boolean |
isReferenced(RequestDispatcher requestDispatcher) |
(package private) void |
registerTarget(Target target,
Uuid clientID) |
(package private) void |
unregisterTarget(Target target,
Uuid clientID) |
private static final Logger logger
private final Object requestDispatchersLock
private final ImplRefManager implRefManager
private final JvmLifeSupport keepAliveCount
private final java.util.concurrent.ConcurrentMap<Uuid,Lease> leaseTable
private Thread leaseChecker
private final Object runLock
private volatile boolean running
RequestDispatcher createRequestDispatcher(Unreferenced unrefCallback)
boolean isReferenced(RequestDispatcher requestDispatcher)
DgcServer getDgcServer(DgcRequestDispatcher dgdRD)
Target export(Remote impl, RequestDispatcher[] requestDispatchers, boolean allowDGC, boolean keepAlive, Uuid id) throws ExportException
ExportException
private DgcRequestDispatcher getRD(RequestDispatcher requestDispatcher)
Copyright 2007-2013, multiple authors.
Licensed under the Apache License, Version 2.0, see the NOTICE file for attributions.