Files
hjha-server/MrWu/RabbitMQ/RabbitConfig.cs
xiaoou e9616125ce feat: initial commit - HJHA game server full source
6 major server modules (PdkFriendServer/GlobalSever/ServerCore/GameModule/GameNetModule) +
game logic (GameFix/GameDAL/ServerData) +
network layer (NetWorkMessage) +
data layer (ObjectModel) +
utilities (MrWu/Core/Config/CloudAPI/dll) +
adapters (zyxAdapter/base)

.NET 8.0 C# solution, 16 projects, 958 source files
2026-07-07 12:02:15 +08:00

213 lines
5.1 KiB
C#

/********************************
*
* 作者:吴隆健
* 创建时间: 2019/6/24 13:47:34
*
********************************/
#if RABBITMQ
using System;
namespace MrWu.RabbitMQ {
/// <summary>
/// Rabbit配置
/// </summary>
public class RabbitConfig {
/// <summary>
/// 用户名
/// </summary>
public string username;
/// <summary>
/// 密码
/// </summary>
public string password;
/// <summary>
/// 虚拟主机
/// </summary>
public string vhost;
/// <summary>
/// ip
/// </summary>
public string host = "127.0.0.1";
/// <summary>
/// 端口
/// </summary>
public int port = 5672;
/// <summary>
/// 交换机
/// </summary>
public ExchangeInfo[] exchanges;
/// <summary>
/// 队列
/// </summary>
public QueueInfo[] queues;
/// <summary>
/// 绑定信息
/// </summary>
public BindInfo[] binds;
/// <summary>
/// 是否异步确认模式
/// </summary>
public bool AsynConfirm = true;
/// <summary>
/// 构造器
/// </summary>
public RabbitConfig() { }
}
/// <summary>
/// 交换机
/// </summary>
public class ExchangeInfo {
/// <summary>
/// 交换机名称
/// </summary>
public string name = string.Empty;
/// <summary>
/// 类型
/// </summary>
public string type = "direct";
/// <summary>
/// 持久化
/// </summary>
public bool durable = true;
/// <summary>
/// 自动删除
/// </summary>
public bool autodelete = false;
/// <summary>
/// 备用交换机 当消息无法路由是,投递到的备用交换机
/// </summary>
public string alternate_exchange = null;
/// <summary>
/// 如果存在则先删除再声明
/// </summary>
public bool delExists = false;
/// <summary>
/// 构造器
/// </summary>
public ExchangeInfo() { }
}
/// <summary>
/// 队列信息
/// </summary>
public class QueueInfo {
/// <summary>
/// 队列名称
/// </summary>
public string name;
/// <summary>
/// 持久化
/// </summary>
public bool durable = false;
/// <summary>
/// 独占
/// </summary>
public bool exclusive = false;
/// <summary>
/// 自动删除
/// </summary>
public bool autodelete = false;
/// <summary>
/// 启动时清空队列
/// </summary>
public bool startClear = false;
/// <summary>
/// 如果存在则先删除
/// </summary>
public bool delExists = false;
/// <summary>
/// 消息过期时间
/// </summary>
public int x_message_ttl = 0;
/// <summary>
/// 在指定的时间内没有消费者链接就会删除队列
/// </summary>
public int x_expires = 0;
/// <summary>
/// 消最大就绪的条目数
/// </summary>
public int x_max_length = 0;
/// <summary>
/// 消息最大的就绪内容大小
/// </summary>
public int x_max_length_bytes = 0;
/// <summary>
/// 当消息溢出时,删除头部消息(drop-head)/拒绝消息(reject-publish)
/// </summary>
public string x_overflow = null;
/// <summary>
/// 当消息被丢弃时,丢弃到哪个交换机中 与 x-dead-touting-key 一起使用
/// </summary>
public string x_dead_letter_exchange = null;
/// <summary>
/// 当消息被丢弃时,投递到交换机中使用的路由键
/// </summary>
public string x_dead_routing_key = null;
/// <summary>
/// 队列 优先级
/// </summary>
public int x_max_priority = 0;
/// <summary>
/// 队列模式 default / lazy . lazy 表示消息存储在磁盘中,当消费者需要的时候才加载到内存中,当消息大量积累的情况应该启用
/// </summary>
public string x_queue_mode = null;
}
/// <summary>
/// 绑定信息
/// </summary>
public class BindInfo {
/// <summary>
/// 绑定类型 queue / exchange
/// </summary>
public string bindType = "queue";
/// <summary>
/// 目标
/// </summary>
public string destination;
/// <summary>
/// 源
/// </summary>
public string source;
/// <summary>
/// 路由键
/// </summary>
public string routingkey;
}
}
#endif