in provider/fastbin/src/main/java/org/apache/aries/rsa/provider/fastbin/tcp/TcpTransport.java [88:115]
public final void start(final Runnable onCompleted) {
queue().execute(new Runnable() {
public void run() {
if (_serviceState.isCreated() || _serviceState.isStopped()) {
final STARTING state = new STARTING();
state.add(onCompleted);
_serviceState = state;
_start(new Runnable() {
public void run() {
_serviceState = new STARTED();
state.done();
}
});
} else if (_serviceState.isStarting()) {
_serviceState.add(onCompleted);
} else if (_serviceState.isStarted()) {
if (onCompleted != null) {
onCompleted.run();
}
} else {
if (onCompleted != null) {
onCompleted.run();
}
LOG.error("start should not be called from state: {}", _serviceState);
}
}
});
}