ConfigureIcePeer class
Пакет: com.hypixel.hytale.protocol.packets.serveraccess
Файл: com/hypixel/hytale/protocol/packets/serveraccess/ConfigureIcePeer.java
implements: Packet, ToServerPacket
Поля (50)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
int |
PACKET_ID |
|
int |
offx |
|
int |
offxx |
|
int |
offxxx |
|
int |
offxxxx |
|
int |
offxxxxx |
|
long |
spx |
|
long |
spxx |
|
long |
spxxx |
|
long |
spxxxx |
|
int |
var1 |
|
ConfigureIcePeer |
var1 |
|
int |
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
long |
var13 |
|
int |
var15 |
|
int |
var16 |
|
long |
var2 |
|
ReadCursor |
var2 |
|
int |
var2 |
|
String |
var24 |
|
String |
var26 |
|
String |
var28 |
|
int |
var3 |
|
|
var3 |
|
int |
var3 |
|
int |
var3 |
|
String |
var30 |
|
HostAddress[] |
var32 |
|
int |
var34 |
|
|
var34 |
|
ConfigureIcePeer |
var35 |
|
long |
var4 |
|
int |
var4 |
|
int |
var4 |
|
|
var4 |
|
int |
var4 |
|
int |
var5 |
|
ReadCursor |
var5 |
|
int |
var6 |
|
String |
var6 |
|
int |
var7 |
|
int |
var7 |
|
HostAddress[] |
var8 |
|
long |
var8 |
Методы (50)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
ConfigureIcePeer |
cloneConfigureIcePeer clone() |
|
|
for for(int var9 = 0; var9 < var6; var9++) |
|
|
for for(int var17 = 0; var17 < var15; var17++) |
|
|
for for(int var5 = 0; var5 < this.remoteCandidates.length; var5++) |
|
|
for for(HostAddress var6 : this.remoteCandidates) |
static |
String |
getLocalPasswordString getLocalPassword(MemorySegment var0) |
static |
String |
getLocalPasswordString getLocalPassword(MemorySegment var0, int var1) |
abstract |
return |
getLocalPasswordreturn getLocalPassword(var0, 0) |
static |
String |
getLocalUfragString getLocalUfrag(MemorySegment var0) |
static |
String |
getLocalUfragString getLocalUfrag(MemorySegment var0, int var1) |
abstract |
return |
getLocalUfragreturn getLocalUfrag(var0, 0) |
static |
HostAddress[] |
getRemoteCandidatesHostAddress[] getRemoteCandidates(MemorySegment var0) |
static |
HostAddress[] |
getRemoteCandidatesHostAddress[] getRemoteCandidates(MemorySegment var0, int var1) |
abstract |
return |
getRemoteCandidatesreturn getRemoteCandidates(var0, 0) |
static |
String |
getRemotePasswordString getRemotePassword(MemorySegment var0) |
static |
String |
getRemotePasswordString getRemotePassword(MemorySegment var0, int var1) |
abstract |
return |
getRemotePasswordreturn getRemotePassword(var0, 0) |
static |
String |
getRemoteUfragString getRemoteUfrag(MemorySegment var0) |
static |
String |
getRemoteUfragString getRemoteUfrag(MemorySegment var0, int var1) |
abstract |
return |
getRemoteUfragreturn getRemoteUfrag(var0, 0) |
static |
boolean |
getRemoveboolean getRemove(MemorySegment var0) |
static |
boolean |
getRemoveboolean getRemove(MemorySegment var0, int var1) |
abstract |
return |
getRemovereturn getRemove(var0, 0) |
static |
String |
getSessionIdString getSessionId(MemorySegment var0) |
static |
String |
getSessionIdString getSessionId(MemorySegment var0, int var1) |
abstract |
return |
getSessionIdreturn getSessionId(var0, 0) |
static |
int |
getValidatedOffsetint getValidatedOffset(MemorySegment var0, int var1, int var2, int var3, String var4) |
|
|
if if(var1 < 0) |
|
|
if if(var4 == -1L) |
|
|
if if(var6 > 16) |
|
|
if if(var4 != var2) |
|
|
if if(var13 == -1L) |
|
|
if if(var15 > 16) |
|
|
if if(var2 != null) |
|
|
if if(this.remoteCandidates.length > 16) |
|
|
if if(this == var1) |
static |
void |
requireBoundsvoid requireBounds(MemorySegment var0, int var1) |
abstract |
|
requireBounds requireBounds(var0, var1) |
static |
void |
requireSlotvoid requireSlot(MemorySegment var0, int var1, int var2, String var3) |
abstract |
|
requireSlot requireSlot(var0, var1 + 1, var4, "SessionId") |
abstract |
|
requireSlot requireSlot(var0, var1 + 5, var4, "LocalUfrag") |
abstract |
|
requireSlot requireSlot(var0, var1 + 9, var4, "LocalPassword") |
abstract |
|
requireSlot requireSlot(var0, var1 + 13, var4, "RemoteUfrag") |
abstract |
|
requireSlot requireSlot(var0, var1 + 17, var4, "RemotePassword") |
abstract |
|
requireSlot requireSlot(var0, var1 + 21, var4, "RemoteCandidates") |
static |
ConfigureIcePeer |
toObjectConfigureIcePeer toObject(MemorySegment var0) |
static |
ConfigureIcePeer |
toObjectConfigureIcePeer toObject(MemorySegment var0, int var1) |
static |
ConfigureIcePeer |
toObjectConfigureIcePeer toObject(MemorySegment var0, int var1, @Nullable ReadCursor var2) |
abstract |
return |
toObjectreturn toObject(var0, 0, null) |
abstract |
return |
toObjectreturn toObject(var0, var1, null) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.protocol.packets.serveraccess;
class="kw">import com.hypixel.hytale.protocol.HostAddress;
class="kw">import com.hypixel.hytale.protocol.NetworkChannel;
class="kw">import com.hypixel.hytale.protocol.Packet;
class="kw">import com.hypixel.hytale.protocol.ToServerPacket;
class="kw">import com.hypixel.hytale.protocol.io.PacketIO;
class="kw">import com.hypixel.hytale.protocol.io.ProtocolException;
class="kw">import com.hypixel.hytale.protocol.io.ReadCursor;
class="kw">import com.hypixel.hytale.protocol.io.VarInt;
class="kw">import java.lang.foreign.MemorySegment;
class="kw">import java.util.Arrays;
class="kw">import java.util.Objects;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class ConfigureIcePeer class="kw">implements Packet, ToServerPacket {
class="kw">public class="kw">static class="kw">final int PACKET_ID = 254;
class="kw">public class="kw">static class="kw">final boolean IS_COMPRESSED = false;
class="kw">public class="kw">static class="kw">final int NULLABLE_BIT_FIELD_SIZE = 0;
class="kw">public class="kw">static class="kw">final int FIXED_BLOCK_SIZE = 1;
class="kw">public class="kw">static class="kw">final int VARIABLE_FIELD_COUNT = 6;
class="kw">public class="kw">static class="kw">final int VARIABLE_BLOCK_START = 25;
class="kw">public class="kw">static class="kw">final int MAX_SIZE = 17639;
@Nonnull
class="kw">public String sessionId = "";
@Nonnull
class="kw">public String localUfrag = "";
@Nonnull
class="kw">public String localPassword = "";
@Nonnull
class="kw">public String remoteUfrag = "";
@Nonnull
class="kw">public String remotePassword = "";
@Nonnull
class="kw">public HostAddress[] remoteCandidates = new HostAddress[0];
class="kw">public boolean remove;
@Override
class="kw">public int getId() {
class="kw">return 254;
}
@Override
class="kw">public NetworkChannel getChannel() {
class="kw">return NetworkChannel.Default;
}
class="kw">public ConfigureIcePeer() {
}
class="kw">public ConfigureIcePeer(
@Nonnull String var1, @Nonnull String var2, @Nonnull String var3, @Nonnull String var4, @Nonnull String var5, @Nonnull HostAddress[] var6, boolean var7
) {
this.sessionId = var1;
this.localUfrag = var2;
this.localPassword = var3;
this.remoteUfrag = var4;
this.remotePassword = var5;
this.remoteCandidates = var6;
this.remove = var7;
}
class="kw">public ConfigureIcePeer(@Nonnull ConfigureIcePeer var1) {
this.sessionId = var1.sessionId;
this.localUfrag = var1.localUfrag;
this.localPassword = var1.localPassword;
this.remoteUfrag = var1.remoteUfrag;
this.remotePassword = var1.remotePassword;
this.remoteCandidates = var1.remoteCandidates;
this.remove = var1.remove;
}
class="kw">public class="kw">static void requireBounds(MemorySegment var0, int var1) {
if (var1 < 0) {
throw ProtocolException.invalidOffset("ConfigureIcePeer", var1, (int)var0.byteSize());
}
long var2 = var1 + 25L;
if (var2 > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("ConfigureIcePeer", (int)Math.min(var2, 2147483647L), (int)var0.byteSize());
}
}
class="kw">public class="kw">static String getSessionId(MemorySegment var0) {
class="kw">return getSessionId(var0, 0);
}
class="kw">public class="kw">static String getSessionId(MemorySegment var0, int var1) {
class="kw">return PacketIO.readValidatedAsciiString("SessionId", var0, var1 + getValidatedOffset(var0, var1, 1, 25, "SessionId"), 64);
}
class="kw">public class="kw">static String getLocalUfrag(MemorySegment var0) {
class="kw">return getLocalUfrag(var0, 0);
}
class="kw">public class="kw">static String getLocalUfrag(MemorySegment var0, int var1) {
class="kw">return PacketIO.readValidatedAsciiString("LocalUfrag", var0, var1 + getValidatedOffset(var0, var1, 5, 25, "LocalUfrag"), 256);
}
class="kw">public class="kw">static String getLocalPassword(MemorySegment var0) {
class="kw">return getLocalPassword(var0, 0);
}
class="kw">public class="kw">static String getLocalPassword(MemorySegment var0, int var1) {
class="kw">return PacketIO.readValidatedAsciiString("LocalPassword", var0, var1 + getValidatedOffset(var0, var1, 9, 25, "LocalPassword"), 256);
}
class="kw">public class="kw">static String getRemoteUfrag(MemorySegment var0) {
class="kw">return getRemoteUfrag(var0, 0);
}
class="kw">public class="kw">static String getRemoteUfrag(MemorySegment var0, int var1) {
class="kw">return PacketIO.readValidatedAsciiString("RemoteUfrag", var0, var1 + getValidatedOffset(var0, var1, 13, 25, "RemoteUfrag"), 256);
}
class="kw">public class="kw">static String getRemotePassword(MemorySegment var0) {
class="kw">return getRemotePassword(var0, 0);
}
class="kw">public class="kw">static String getRemotePassword(MemorySegment var0, int var1) {
class="kw">return PacketIO.readValidatedAsciiString("RemotePassword", var0, var1 + getValidatedOffset(var0, var1, 17, 25, "RemotePassword"), 256);
}
class="kw">public class="kw">static HostAddress[] getRemoteCandidates(MemorySegment var0) {
class="kw">return getRemoteCandidates(var0, 0);
}
class="kw">public class="kw">static HostAddress[] getRemoteCandidates(MemorySegment var0, int var1) {
ReadCursor var2 = new ReadCursor();
int var3 = var1 + getValidatedOffset(var0, var1, 21, 25, "RemoteCandidates");
long var4 = VarInt.getWithLength(var0, var3);
if (var4 == -1L) {
throw ProtocolException.invalidVarInt("RemoteCandidates");
}
int var6 = (int)var4;
if (var6 > 16) {
throw ProtocolException.arrayTooLong("RemoteCandidates", var6, 16);
}
int var7 = (int)(var4 >>> 32);
if (var3 + var7 + var6 * 2L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("RemoteCandidates", (int)Math.min(var3 + var7 + var6 * 2L, 2147483647L), (int)var0.byteSize());
}
var3 += var7;
HostAddress[] var8 = new HostAddress[var6];
for (int var9 = 0; var9 < var6; var9++) {
var8[var9] = HostAddress.toObject(var0, var3, var2);
var3 = var2.position;
}
class="kw">return var8;
}
class="kw">public class="kw">static boolean getRemove(MemorySegment var0) {
class="kw">return getRemove(var0, 0);
}
class="kw">public class="kw">static boolean getRemove(MemorySegment var0, int var1) {
class="kw">return var0.get(PacketIO.PROTO_BOOL, var1 + 0);
}
class="kw">private class="kw">static int getValidatedOffset(MemorySegment var0, int var1, int var2, int var3, String var4) {
int var5 = var0.get(PacketIO.PROTO_INT, var1 + var2);
if (var5 >= 0 && var5 <= var0.byteSize() - var1 - var3) {
class="kw">return var3 + var5;
} else {
throw ProtocolException.invalidOffset(var4, var5, (int)var0.byteSize());
}
}
class="kw">private class="kw">static void requireSlot(MemorySegment var0, int var1, int var2, String var3) {
int var4 = var0.get(PacketIO.PROTO_INT, var1);
if (var4 != var2) {
throw ProtocolException.nonCanonicalLayout(var3, var4, var2);
}
}
class="kw">public class="kw">static ConfigureIcePeer toObject(MemorySegment var0) {
class="kw">return toObject(var0, 0, null);
}
class="kw">public class="kw">static ConfigureIcePeer toObject(MemorySegment var0, int var1) {
class="kw">return toObject(var0, var1, null);
}
class="kw">public class="kw">static ConfigureIcePeer toObject(MemorySegment var0, int var1, @Nullable ReadCursor var2) {
requireBounds(var0, var1);
int var3 = var1 + 25;
int var4 = 0;
ReadCursor var5 = var2 != null ? var2 : new ReadCursor();
requireSlot(var0, var1 + 1, var4, "SessionId");
int var7 = var3 + var4;
long var8 = VarInt.getWithLength(var0, var7);
String var6 = PacketIO.readValidatedAsciiString("SessionId", var0, var7, 0, 64, var8);
var4 += (int)var8 + (int)(var8 >>> 32);
requireSlot(var0, var1 + 5, var4, "LocalUfrag");
int offx = var3 + var4;
long spx = VarInt.getWithLength(var0, offx);
String var24 = PacketIO.readValidatedAsciiString("LocalUfrag", var0, offx, 0, 256, spx);
var4 += (int)spx + (int)(spx >>> 32);
requireSlot(var0, var1 + 9, var4, "LocalPassword");
int offxx = var3 + var4;
long spxx = VarInt.getWithLength(var0, offxx);
String var26 = PacketIO.readValidatedAsciiString("LocalPassword", var0, offxx, 0, 256, spxx);
var4 += (int)spxx + (int)(spxx >>> 32);
requireSlot(var0, var1 + 13, var4, "RemoteUfrag");
int offxxx = var3 + var4;
long spxxx = VarInt.getWithLength(var0, offxxx);
String var28 = PacketIO.readValidatedAsciiString("RemoteUfrag", var0, offxxx, 0, 256, spxxx);
var4 += (int)spxxx + (int)(spxxx >>> 32);
requireSlot(var0, var1 + 17, var4, "RemotePassword");
int offxxxx = var3 + var4;
long spxxxx = VarInt.getWithLength(var0, offxxxx);
String var30 = PacketIO.readValidatedAsciiString("RemotePassword", var0, offxxxx, 0, 256, spxxxx);
var4 += (int)spxxxx + (int)(spxxxx >>> 32);
requireSlot(var0, var1 + 21, var4, "RemoteCandidates");
int offxxxxx = var3 + var4;
long var13 = VarInt.getWithLength(var0, offxxxxx);
if (var13 == -1L) {
throw ProtocolException.invalidVarInt("RemoteCandidates");
}
int var15 = (int)var13;
if (var15 > 16) {
throw ProtocolException.arrayTooLong("RemoteCandidates", var15, 16);
}
int var16 = (int)(var13 >>> 32);
if (offxxxxx + var16 + var15 * 2L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("RemoteCandidates", (int)Math.min(offxxxxx + var16 + var15 * 2L, 2147483647L), (int)var0.byteSize());
}
int var34 = offxxxxx + var16;
HostAddress[] var32 = new HostAddress[var15];
for (int var17 = 0; var17 < var15; var17++) {
var32[var17] = HostAddress.toObject(var0, var34, var5);
var34 = var5.position;
}
var4 = var34 - var3;
ConfigureIcePeer var35 = new ConfigureIcePeer(var6, var24, var26, var28, var30, var32, var0.get(PacketIO.PROTO_BOOL, var1 + 0));
if (var2 != null) {
var2.position = var3 + var4;
}
class="kw">return var35;
}
@Override
class="kw">public int serialize(@Nonnull MemorySegment var1, int var2) {
var1.set(PacketIO.PROTO_BOOL, var2 + 0, this.remove);
int var3 = var2 + 25;
var1.set(PacketIO.PROTO_INT, var2 + 1, var3 - var2 - 25);
var3 += PacketIO.writeVarAsciiString(var1, var3, this.sessionId, 64);
var1.set(PacketIO.PROTO_INT, var2 + 5, var3 - var2 - 25);
var3 += PacketIO.writeVarAsciiString(var1, var3, this.localUfrag, 256);
var1.set(PacketIO.PROTO_INT, var2 + 9, var3 - var2 - 25);
var3 += PacketIO.writeVarAsciiString(var1, var3, this.localPassword, 256);
var1.set(PacketIO.PROTO_INT, var2 + 13, var3 - var2 - 25);
var3 += PacketIO.writeVarAsciiString(var1, var3, this.remoteUfrag, 256);
var1.set(PacketIO.PROTO_INT, var2 + 17, var3 - var2 - 25);
var3 += PacketIO.writeVarAsciiString(var1, var3, this.remotePassword, 256);
var1.set(PacketIO.PROTO_INT, var2 + 21, var3 - var2 - 25);
if (this.remoteCandidates.length > 16) {
throw ProtocolException.arrayTooLong("RemoteCandidates", this.remoteCandidates.length, 16);
}
var3 += VarInt.set(var1, var3, this.remoteCandidates.length);
int var4 = 0;
for (int var5 = 0; var5 < this.remoteCandidates.length; var5++) {
var4 += this.remoteCandidates[var5].serialize(var1, var3 + var4);
}
var3 += var4;
class="kw">return var3 - var2;
}
@Override
class="kw">public int computeSize() {
int var1 = 25;
var1 += VarInt.size(this.sessionId.length()) + this.sessionId.length();
var1 += VarInt.size(this.localUfrag.length()) + this.localUfrag.length();
var1 += VarInt.size(this.localPassword.length()) + this.localPassword.length();
var1 += VarInt.size(this.remoteUfrag.length()) + this.remoteUfrag.length();
var1 += VarInt.size(this.remotePassword.length()) + this.remotePassword.length();
int var2 = 0;
for (HostAddress var6 : this.remoteCandidates) {
var2 += var6.computeSize();
}
class="kw">return var1 + VarInt.size(this.remoteCandidates.length) + var2;
}
class="kw">public ConfigureIcePeer clone() {
ConfigureIcePeer var1 = new ConfigureIcePeer();
var1.sessionId = this.sessionId;
var1.localUfrag = this.localUfrag;
var1.localPassword = this.localPassword;
var1.remoteUfrag = this.remoteUfrag;
var1.remotePassword = this.remotePassword;
var1.remoteCandidates = Arrays.stream(this.remoteCandidates).map(var0 -> var0.clone()).toArray(HostAddress[]::new);
var1.remove = this.remove;
class="kw">return var1;
}
@Override
class="kw">public boolean equals(Object var1) {
if (this == var1) {
class="kw">return true;
} else {
class="kw">return !(var1 class="kw">instanceof ConfigureIcePeer var2)
? false
: Objects.equals(this.sessionId, var2.sessionId)
&& Objects.equals(this.localUfrag, var2.localUfrag)
&& Objects.equals(this.localPassword, var2.localPassword)
&& Objects.equals(this.remoteUfrag, var2.remoteUfrag)
&& Objects.equals(this.remotePassword, var2.remotePassword)
&& Arrays.equals(this.remoteCandidates, var2.remoteCandidates)
&& this.remove == var2.remove;
}
}
@Override
class="kw">public int hashCode() {
int var1 = 1;
var1 = 31 * var1 + Objects.hashCode(this.sessionId);
var1 = 31 * var1 + Objects.hashCode(this.localUfrag);
var1 = 31 * var1 + Objects.hashCode(this.localPassword);
var1 = 31 * var1 + Objects.hashCode(this.remoteUfrag);
var1 = 31 * var1 + Objects.hashCode(this.remotePassword);
var1 = 31 * var1 + Arrays.hashCode(this.remoteCandidates);
class="kw">return 31 * var1 + Boolean.hashCode(this.remove);
}
}