final class Target extends Object
Modifier and Type | Field and Description |
---|---|
private boolean |
allowDGC |
private Collection<Thread> |
calls |
private ClassLoader |
ccl |
private boolean |
decrementedKeepAlive |
private boolean |
exported |
private Uuid |
id |
private ImplRefManager.ImplRef |
implRef |
private boolean |
interrupted |
private InvocationDispatcher |
invocationDispatcher |
private boolean |
keepAlive |
private JvmLifeSupport |
keepAliveCount |
private java.util.concurrent.locks.Lock |
lock |
private static Logger |
logger |
private ObjectTable |
objTable |
private Set<Uuid> |
referencedSet |
private DgcRequestDispatcher[] |
requestDispatchers |
private SecurityContext |
securityContext |
private Map<Uuid,SequenceEntry> |
sequenceTable |
private boolean |
success |
private boolean |
unexported |
Constructor and Description |
---|
Target(Uuid id,
DgcRequestDispatcher[] requestDispatchers,
boolean allowDGC,
boolean keepAlive,
ObjectTable table,
SecurityContext sc,
ClassLoader contextCl,
JvmLifeSupport counter)
Construction must be directly followed by three calls.
|
Modifier and Type | Method and Description |
---|---|
(package private) void |
collect() |
private void |
decrementKeepAliveCount() |
(package private) void |
dispatch(InboundRequest request) |
private void |
dispatch(InboundRequest request,
InvocationDispatcher id,
Remote impl) |
private void |
dispatch(InboundRequest request,
InvocationDispatcher id,
Remote impl,
Thread t) |
(package private) ClassLoader |
getContextClassLoader() |
(package private) boolean |
getEnableDGC() |
(package private) Uuid |
getObjectIdentifier() |
(package private) SecurityContext |
getSecurityContext() |
private void |
interrupted(Thread currentThread) |
(package private) void |
leaseExpired(Uuid clientID) |
(package private) void |
procRequestDispatchers()
Must be synchronized externally by the object table.
|
(package private) void |
referenced(Uuid clientID,
long sequenceNum) |
(package private) void |
setExported()
This method is called after construction, processing RequestDispatchers,
creating and setting an ImplRef.
|
(package private) void |
setImplRef(ImplRefManager.ImplRef implRef)
Set the ImplRef.
|
(package private) void |
setInvocationDispatcher(InvocationDispatcher id) |
String |
toString() |
(package private) boolean |
unexport(boolean force)
To quote the Exporter interface:
If the remote object is unexported as a result of this method,
then the implementation may (and should, if possible) prevent
remote calls in progress from being able to communicate their
results successfully.
|
(package private) void |
unreferenced(Uuid clientID,
long sequenceNum,
boolean strong) |
private static final Logger logger
private volatile ImplRefManager.ImplRef implRef
private final Uuid id
private final DgcRequestDispatcher[] requestDispatchers
private final boolean allowDGC
private final boolean keepAlive
private final SecurityContext securityContext
private final ClassLoader ccl
private final java.util.concurrent.locks.Lock lock
private volatile InvocationDispatcher invocationDispatcher
private volatile boolean exported
private volatile boolean unexported
private volatile boolean success
private volatile boolean interrupted
private final Map<Uuid,SequenceEntry> sequenceTable
private final JvmLifeSupport keepAliveCount
private volatile boolean decrementedKeepAlive
private final ObjectTable objTable
private final Collection<Thread> calls
Target(Uuid id, DgcRequestDispatcher[] requestDispatchers, boolean allowDGC, boolean keepAlive, ObjectTable table, SecurityContext sc, ClassLoader contextCl, JvmLifeSupport counter) throws ExportException
id
- requestDispatchers
- allowDGC
- keepAlive
- table
- sc
- contextCl
- counter
- ExportException
void procRequestDispatchers() throws ExportException
ExportException
void setImplRef(ImplRefManager.ImplRef implRef) throws ExportException
implRef
- ExportException
void setInvocationDispatcher(InvocationDispatcher id)
void setExported() throws ExportException
ExportException
private void decrementKeepAliveCount()
boolean unexport(boolean force)
force
- - if true forcibly unexportedvoid collect()
Uuid getObjectIdentifier()
boolean getEnableDGC()
SecurityContext getSecurityContext()
ClassLoader getContextClassLoader()
void referenced(Uuid clientID, long sequenceNum)
void unreferenced(Uuid clientID, long sequenceNum, boolean strong)
void leaseExpired(Uuid clientID)
private void interrupted(Thread currentThread) throws InterruptedException
InterruptedException
void dispatch(InboundRequest request) throws IOException, ObjectTable.NoSuchObject
IOException
ObjectTable.NoSuchObject
private void dispatch(InboundRequest request, InvocationDispatcher id, Remote impl, Thread t) throws IOException, ObjectTable.NoSuchObject
IOException
ObjectTable.NoSuchObject
private void dispatch(InboundRequest request, InvocationDispatcher id, Remote impl) throws IOException, InterruptedException
IOException
InterruptedException
Copyright 2007-2013, multiple authors.
Licensed under the Apache License, Version 2.0, see the NOTICE file for attributions.