*/
package org.opendaylight.controller.cluster.access.concepts;
-import com.google.common.annotations.Beta;
-import javax.annotation.Nonnull;
+import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.controller.cluster.access.ABIVersion;
import org.opendaylight.yangtools.concepts.WritableIdentifier;
* {@link RequestFailure} and {@link RequestSuccess}, which provide appropriate specialization. It is visible purely for
* the purpose of allowing to check if an object is either of those specializations with a single instanceof check.
*
- * @author Robert Varga
- *
* @param <T> Target identifier type
* @param <C> Message type
*/
-@Beta
public abstract class Response<T extends WritableIdentifier, C extends Response<T, C>> extends Message<T, C> {
- private static final long serialVersionUID = 1L;
+ protected interface SerialForm<T extends WritableIdentifier, C extends Response<T, C>>
+ extends Message.SerialForm<T, C> {
- Response(final @Nonnull C response, final @Nonnull ABIVersion version) {
- super(response, version);
}
- Response(final @Nonnull T target, final long sequence, final long retry) {
- super(target, sequence, retry);
- }
+ @java.io.Serial
+ private static final long serialVersionUID = 1L;
- @Override
- protected final C cloneAsRetry(final long retry) {
- throw new UnsupportedOperationException("Responses do not support retries");
+ Response(final @NonNull T target, final long sequence) {
+ super(target, sequence);
}
- @Override
- abstract AbstractResponseProxy<T, C> externalizableProxy(@Nonnull ABIVersion version);
+ Response(final @NonNull C response, final @NonNull ABIVersion version) {
+ super(response, version);
+ }
}