package com.snowcattle.game.bootstrap;
/**
* 游戏服务器运行时数据
*/
public class GameServerRuntime {
/** 服务是否已经开放 */
private static volatile boolean open;
/** 服务是否正在关闭 */
private static volatile boolean shutdowning;
/** 是否进行写流量控制,默认为true,即进行写流量的控制 **/
private static volatile boolean writeTrafficControl = true;
/** 是否进行读浏览控制,默认为true,即进行读流量的控制 */
private static volatile boolean readTrafficControl = true;
/** 玩家的session里写队列的最大字节数,超出此值时将其连接断掉 */
public static final int MAX_WRITE_BYTES_INQUEUE = 300 * 1024;
private GameServerRuntime() {
}
/**
* 检查服务是否已经开放,只有在已经开放的情况下才能接收玩家的连接
*
* @return the open
*/
public static boolean isOpen() {
return open;
}
/**
* 打开服务
*
*/
public static void setOpenOn() {
open = true;
}
/**
* 关闭服务
*/
public static void setOpenOff() {
open = false;
}
/**
* 设置服务器正在关闭
*/
public static void setShutdowning() {
shutdowning = true;
setOpenOff();
}
/**
* 服务器是否正在关闭
*
* @return
*/
public static boolean isShutdowning() {
return shutdowning;
}
/**
* 是否对玩家Session进行写流量控制
*
* @return the writeTrafficControl
*/
public static boolean isWriteTrafficControl() {
return writeTrafficControl;
}
/**
* 设置是否对玩家进行写流量控制
*
* @param writeTrafficControl
* the writeTrafficControl to set
*/
public static void setWriteTrafficControl(boolean writeTrafficControl) {
GameServerRuntime.writeTrafficControl = writeTrafficControl;
}
/**
* 是否对玩家session进行读流量的控制
*
* @return the readTrafficControl
*/
public static boolean isReadTrafficControl() {
return readTrafficControl;
}
/**
* 设置是否对玩家进行读流量的控制
*
* @param readTrafficControl
* the readTrafficControl to set
*/
public static void setReadTrafficControl(boolean readTrafficControl) {
GameServerRuntime.readTrafficControl = readTrafficControl;
}
}