2 * Copyright (c) 2021 PANTHEON.tech, s.r.o. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.netconf.nettyutil;
10 import com.google.common.annotations.Beta;
11 import io.netty.util.concurrent.Future;
12 import org.eclipse.jdt.annotation.NonNull;
13 import org.opendaylight.yangtools.yang.common.Empty;
16 * A future representing the task of reconnecting of a certain channel. This future never completes successfully, it
17 * either fails when the underlying strategy gives up, or when it is cancelled. It additionally exposes an additional
18 * future, which completes when the session is established for the first time.
21 public interface ReconnectFuture extends Future<Empty> {
23 * Return a Future which completes when the first session is established.
25 * @return First session establishment future
27 @NonNull Future<?> firstSessionFuture();