All Downloads are FREE. Search and download functionalities are using the official Maven repository.

lowentry.ue4.classes.sockets.SocketFunctions Maven / Gradle / Ivy

There is a newer version: 9.9.9.DELETED
Show newest version
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