94 lines
4.0 KiB
C#
94 lines
4.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
using StackExchange.Redis;
|
|
|
|
|
|
using ServerCore;
|
|
|
|
|
|
using MODULE_ID = System.UInt32;
|
|
|
|
|
|
namespace ServerBase;
|
|
|
|
public static class ServerLogicHelper
|
|
{
|
|
public static RabbitMQConnectorBase getRabbitMqConnector(this IServerLogic logic)
|
|
{
|
|
var found_module = logic.getModule((MODULE_ID)ModuleId.RabbitMqConnector);
|
|
var casted_rabbit_mq_connector = found_module as RabbitMQConnectorBase;
|
|
NullReferenceCheckHelper.throwIfNull(casted_rabbit_mq_connector, () => $"casted_rabbit_mq_connector is null !!! - {logic.toBasicString()}");
|
|
return casted_rabbit_mq_connector;
|
|
}
|
|
|
|
public static RedisConnector getRedisConnector(this IServerLogic logic)
|
|
{
|
|
var found_module = logic.getModule((MODULE_ID)ModuleId.RedisConnector);
|
|
var casted_redis_connector = found_module as RedisConnector;
|
|
NullReferenceCheckHelper.throwIfNull(casted_redis_connector, () => $"casted_redis_connector is null !!! - {logic.toBasicString()}");
|
|
return casted_redis_connector;
|
|
}
|
|
|
|
public static IDatabase getRedisDb(this IServerLogic logic)
|
|
{
|
|
var redis_database = logic.getRedisConnector().getDatabase();
|
|
NullReferenceCheckHelper.throwIfNull(redis_database, () => $"redis_database is null !!! - {logic.toBasicString()}");
|
|
return redis_database;
|
|
}
|
|
|
|
public static RedisWithLuaScriptExecutor getRedisWithLuaScriptExecutor(this IServerLogic logic)
|
|
{
|
|
var found_module = logic.getModule((MODULE_ID)ModuleId.RedisWithLuaScriptExecutor);
|
|
var casted_redis_with_lua_script_executor = found_module as RedisWithLuaScriptExecutor;
|
|
NullReferenceCheckHelper.throwIfNull(casted_redis_with_lua_script_executor, () => $"casted_redis_with_lua_script_executor is null !!! - {logic.toBasicString()}");
|
|
return casted_redis_with_lua_script_executor;
|
|
}
|
|
|
|
public static DynamoDbClient getDynamoDbClient(this IServerLogic logic)
|
|
{
|
|
var found_module = logic.getModule((MODULE_ID)ModuleId.DynamoDbConnector);
|
|
var casted_dynamo_db_client = found_module as DynamoDbClient;
|
|
NullReferenceCheckHelper.throwIfNull(casted_dynamo_db_client, () => $"casted_dynamo_db_client is null !!! - {logic.toBasicString()}");
|
|
return casted_dynamo_db_client;
|
|
}
|
|
|
|
public static MongoDbConnector getMongoDbConnector(this IServerLogic logic)
|
|
{
|
|
var found_module = logic.getModule((MODULE_ID)ModuleId.MongoDbConnector);
|
|
var casted_mongo_db_connector = found_module as MongoDbConnector;
|
|
NullReferenceCheckHelper.throwIfNull(casted_mongo_db_connector, () => $"casted_mongo_db_connector is null !!! - {logic.toBasicString()}");
|
|
return casted_mongo_db_connector;
|
|
}
|
|
|
|
|
|
public static S3Connector getS3Connector(this IServerLogic logic)
|
|
{
|
|
var found_module = logic.getModule((MODULE_ID)ModuleId.S3Connector);
|
|
var casted_s3_connector = found_module as S3Connector;
|
|
NullReferenceCheckHelper.throwIfNull(casted_s3_connector, () => $"casted_s3_connector is null !!! - {logic.toBasicString()}");
|
|
return casted_s3_connector;
|
|
}
|
|
|
|
public static ListenSessionBase getListenSessionBase(this ServerLogicBase logicBase)
|
|
{
|
|
var found_module = logicBase.getModule<IModule>((MODULE_ID)ModuleId.ProudNetListener);
|
|
var listen_session_base = found_module as ListenSessionBase;
|
|
NullReferenceCheckHelper.throwIfNull(listen_session_base, () => $"listen_session_base is null !!! - {logicBase.toBasicString()}");
|
|
return listen_session_base;
|
|
}
|
|
|
|
public static ListenSessionBase getListenSessionBaseByModuleId(this ServerLogicBase logicBase, ModuleId moduleId)
|
|
{
|
|
var found_module = logicBase.getModule<IModule>((MODULE_ID)moduleId);
|
|
var listen_session_base = found_module as ListenSessionBase;
|
|
NullReferenceCheckHelper.throwIfNull(listen_session_base, () => $"listen_session_base is null !!! - {logicBase.toBasicString()}");
|
|
return listen_session_base;
|
|
}
|
|
}
|
|
|