package org.opendaylight.controller.cluster.access.client;
import com.google.common.annotations.Beta;
-import javax.annotation.concurrent.NotThreadSafe;
+import org.opendaylight.controller.cluster.access.concepts.RequestException;
@Beta
-@NotThreadSafe
public final class ConnectedClientConnection<T extends BackendInfo> extends AbstractReceivingClientConnection<T> {
- ConnectedClientConnection(final ClientActorContext context, final Long cookie, final T backend) {
- super(context, cookie, backend);
+
+ ConnectedClientConnection(final AbstractClientConnection<T> oldConnection, final T newBackend) {
+ super(oldConnection, newBackend);
}
@Override
- ClientActorBehavior<T> reconnectConnection(final ClientActorBehavior<T> current) {
- final ReconnectingClientConnection<T> next = new ReconnectingClientConnection<>(this);
+ ClientActorBehavior<T> lockedReconnect(final ClientActorBehavior<T> current, final RequestException cause) {
+ final ReconnectingClientConnection<T> next = new ReconnectingClientConnection<>(this, cause);
setForwarder(new SimpleReconnectForwarder(next));
current.reconnectConnection(this, next);
return current;