import com.google.common.base.Stopwatch;
import com.google.common.base.Verify;
import java.util.Collection;
import com.google.common.base.Stopwatch;
import com.google.common.base.Verify;
import java.util.Collection;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import org.opendaylight.controller.cluster.access.commands.NotLeaderException;
import org.opendaylight.controller.cluster.access.commands.OutOfSequenceEnvelopeException;
import org.opendaylight.controller.cluster.access.concepts.ClientIdentifier;
import org.opendaylight.controller.cluster.access.commands.NotLeaderException;
import org.opendaylight.controller.cluster.access.commands.OutOfSequenceEnvelopeException;
import org.opendaylight.controller.cluster.access.concepts.ClientIdentifier;
* @param enqueuedEntries Previously-enqueued entries
* @return A {@link ReconnectForwarder} to handle any straggler messages which arrive after this method returns.
*/
* @param enqueuedEntries Previously-enqueued entries
* @return A {@link ReconnectForwarder} to handle any straggler messages which arrive after this method returns.
*/
private final MessageAssembler responseMessageAssembler;
private final Registration staleBackendInfoReg;
private final MessageAssembler responseMessageAssembler;
private final Registration staleBackendInfoReg;
- protected ClientActorBehavior(@Nonnull final ClientActorContext context,
- @Nonnull final BackendInfoResolver<T> resolver) {
+ protected ClientActorBehavior(final @NonNull ClientActorContext context,
+ final @NonNull BackendInfoResolver<T> resolver) {
final ClientActorConfig config = context.config();
responseMessageAssembler = MessageAssembler.builder().logContext(persistenceId())
final ClientActorConfig config = context.config();
responseMessageAssembler = MessageAssembler.builder().logContext(persistenceId())
* @param command the command to process
* @return Next behavior to use, null if this actor should shut down.
*/
* @param command the command to process
* @return Next behavior to use, null if this actor should shut down.
*/
* @return ConnectionConnectCohort which will be used to complete the process of bringing the connection up.
*/
@GuardedBy("connectionsLock")
* @return ConnectionConnectCohort which will be used to complete the process of bringing the connection up.
*/
@GuardedBy("connectionsLock")
private void backendConnectFinished(final Long shard, final AbstractClientConnection<T> oldConn,
final T backend, final Throwable failure) {
private void backendConnectFinished(final Long shard, final AbstractClientConnection<T> oldConn,
final T backend, final Throwable failure) {