
lowentry.ue4.classes.sockets.SocketFunctions Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of java Show documentation
Show all versions of java Show documentation
A Java library for the Low Entry UE4 plugins.
package lowentry.ue4.classes.sockets;
import java.nio.ByteBuffer;
public class SocketFunctions
{
public static int uintByteCount(final int value)
{
return ((value <= 127) ? 1 : 4);
}
public static void putUint(final ByteBuffer buffer, final int value)
{
if(value <= 127)
{
buffer.put((byte) (value));
}
else
{
buffer.put((byte) ((value >> 24) | (1 << 7)));
buffer.put((byte) (value >> 16));
buffer.put((byte) (value >> 8));
buffer.put((byte) (value));
}
}
public static int websocketSizeByteCount(final int value)
{
if(value <= 125)
{
return 1;
}
else if(value <= 65535)
{
return 3;
}
return 9;
}
public static void putWebsocketSizeBytes(final ByteBuffer buffer, final int value)
{
if(value <= 125)
{
buffer.put((byte) (value));
}
else if(value <= 65535)
{
buffer.put((byte) 126);
buffer.put((byte) (value >> 8));
buffer.put((byte) (value));
}
else
{
long v = value;
buffer.put((byte) 127);
buffer.put((byte) (v >> 56));
buffer.put((byte) (v >> 48));
buffer.put((byte) (v >> 40));
buffer.put((byte) (v >> 32));
buffer.put((byte) (v >> 24));
buffer.put((byte) (v >> 16));
buffer.put((byte) (v >> 8));
buffer.put((byte) (v));
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy