|
|
|
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
|
|
|
|
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
|
|
|
|
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
|
|
|
|
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
|
|
|
|
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
|
|
|
|
// Magicbane Emulator Project © 2013 - 2022
|
|
|
|
// www.magicbane.com
|
|
|
|
|
|
|
|
|
|
|
|
package engine.net;
|
|
|
|
|
|
|
|
import engine.pooling.MultisizeByteBufferPool;
|
|
|
|
|
|
|
|
import java.nio.ByteBuffer;
|
|
|
|
|
|
|
|
public class Network {
|
|
|
|
|
|
|
|
public static final int INITIAL_SOCKET_BUFFER_SIZE = 128 * 1024;
|
|
|
|
public static final int INITIAL_BYTEBUFFER_POOL_SIZE = 256;
|
|
|
|
|
|
|
|
public static final MultisizeByteBufferPool byteBufferPool = new MultisizeByteBufferPool();
|
|
|
|
|
|
|
|
public static void init() {
|
|
|
|
//Force a few to be created.
|
|
|
|
|
|
|
|
//Small (2^10-15)
|
|
|
|
for (int a = 10; a < 16; ++a) {
|
|
|
|
for (int i = 0; i < 50; ++i) {
|
|
|
|
byteBufferPool.putBuffer(ByteBuffer.allocateDirect(MultisizeByteBufferPool.powersOfTwo[a]));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
//standard size (2^16)
|
|
|
|
for (int i = 0; i < 100; ++i) {
|
|
|
|
byteBufferPool.putBuffer(ByteBuffer.allocateDirect(MultisizeByteBufferPool.powersOfTwo[16]));
|
|
|
|
}
|
|
|
|
|
|
|
|
//Large (2^17)
|
|
|
|
for (int i = 0; i < 50; ++i) {
|
|
|
|
byteBufferPool.putBuffer(ByteBuffer.allocateDirect(MultisizeByteBufferPool.powersOfTwo[17]));
|
|
|
|
}
|
|
|
|
|
|
|
|
// NetMsgFactory size (2^18)
|
|
|
|
for (int i = 0; i < 64; ++i) {
|
|
|
|
byteBufferPool.putBuffer(ByteBuffer
|
|
|
|
.allocateDirect(MultisizeByteBufferPool.powersOfTwo[18]));
|
|
|
|
}
|
|
|
|
|
|
|
|
//Very Large (2^19)
|
|
|
|
for (int i = 0; i < 25; ++i) {
|
|
|
|
byteBufferPool.putBuffer(ByteBuffer.allocateDirect(MultisizeByteBufferPool.powersOfTwo[19]));
|
|
|
|
}
|
|
|
|
|
|
|
|
//Very Large (2^20)
|
|
|
|
for (int i = 0; i < 10; ++i) {
|
|
|
|
byteBufferPool.putBuffer(ByteBuffer.allocateDirect(MultisizeByteBufferPool.powersOfTwo[20]));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|