| Modifier and Type | Class and Description |
|---|---|
protected static class |
ConcurrentManaged.InvalidBorrowed<T> |
protected static class |
ConcurrentManaged.ManagedState |
protected static class |
ConcurrentManaged.ValidBorrowed<T>
Wraps returned references that are taken from this SetupOnce instance.
|
| Modifier and Type | Field and Description |
|---|---|
protected AtomicInteger |
leases
The number of borrowed references that are out in the wild.
|
protected AtomicReference<T> |
reference |
protected AtomicReference<ConcurrentManaged.ManagedState> |
state |
protected Set<ConcurrentManaged.ValidBorrowed<T>> |
traces |
| Modifier | Constructor and Description |
|---|---|
protected |
ConcurrentManaged(AsyncFramework async,
ManagedSetup<T> setup,
ResolvableFuture<Void> startFuture,
ResolvableFuture<Void> zeroLeaseFuture,
ResolvableFuture<T> stopReferenceFuture,
AsyncFuture<Void> stopFuture) |
| Modifier and Type | Method and Description |
|---|---|
Borrowed<T> |
borrow() |
<R> AsyncFuture<R> |
doto(ManagedAction<T,R> action) |
protected StackTraceElement[] |
getStackTrace() |
boolean |
isReady() |
static <T> ConcurrentManaged<T> |
newManaged(AsyncFramework async,
ManagedSetup<T> setup) |
protected void |
release() |
protected void |
retain() |
AsyncFuture<Void> |
start() |
AsyncFuture<Void> |
stop() |
String |
toString() |
protected String |
toStringTracing(T reference,
List<ConcurrentManaged.ValidBorrowed<T>> traces) |
protected final AtomicReference<T> reference
protected final Set<ConcurrentManaged.ValidBorrowed<T>> traces
protected final AtomicReference<ConcurrentManaged.ManagedState> state
protected final AtomicInteger leases
protected ConcurrentManaged(AsyncFramework async, ManagedSetup<T> setup, ResolvableFuture<Void> startFuture, ResolvableFuture<Void> zeroLeaseFuture, ResolvableFuture<T> stopReferenceFuture, AsyncFuture<Void> stopFuture)
public static <T> ConcurrentManaged<T> newManaged(AsyncFramework async, ManagedSetup<T> setup)
public <R> AsyncFuture<R> doto(ManagedAction<T,R> action)
public AsyncFuture<Void> start()
public AsyncFuture<Void> stop()
protected void retain()
protected void release()
protected String toStringTracing(T reference, List<ConcurrentManaged.ValidBorrowed<T>> traces)
protected StackTraceElement[] getStackTrace()
Copyright © 2017. All rights reserved.