package net.minecraft.client.multiplayer.p2p; import java.util.UUID; import org.jspecify.annotations.Nullable; public abstract class SignalingException extends RuntimeException { @Nullable private final UUID peerPmid; protected SignalingException(@Nullable final UUID peerPmid, final String message) { super(message); this.peerPmid = peerPmid; } @Nullable public final UUID peerPmid() { return this.peerPmid; } public static final class MessageUndeliveredException extends SignalingException { public MessageUndeliveredException(final String serverMessage) { super(null, serverMessage); } } public static final class SignalingAuthException extends SignalingException { public SignalingAuthException(final String serverMessage) { super(null, serverMessage); } } public static class SignalingRejectedException extends SignalingException { public SignalingRejectedException(@Nullable final UUID peerPmid, final String message) { super(peerPmid, message); } } public static final class TurnAuthFailedException extends SignalingException { public TurnAuthFailedException(final String serverMessage) { super(null, serverMessage); } } public static final class UnknownPlayerException extends SignalingException { public UnknownPlayerException(@Nullable final UUID peerPmid, final String serverMessage) { super(peerPmid, serverMessage); } } }