From a5cc4b0521d9b6077a3473335a09144da0e71659 Mon Sep 17 00:00:00 2001 From: sin365 <353374337@qq.com> Date: Fri, 19 Jan 2024 21:34:08 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BD=92=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Lib/HaoYueNet.ClientNetwork.dll | Bin 17408 -> 19968 bytes Lib/HaoYueNet.ServerNetwork.dll | Bin 25600 -> 25088 bytes .../Manager/ClientManager.cs | 2 +- .../Manager/LocalClientManager.cs | 86 +- .../ServerLocalClient/ServerLocalClient.cs | 14 +- .../Protobuf/ProtobufNoSugar.cs | 845 ++++++++++++++++-- ProtobufCore/out/CS/ProtobufNoSugar.cs | 845 ++++++++++++++++-- ProtobufCore/proto/protobuf_NoSugar.proto | 39 +- 8 files changed, 1593 insertions(+), 238 deletions(-) diff --git a/Lib/HaoYueNet.ClientNetwork.dll b/Lib/HaoYueNet.ClientNetwork.dll index 4047ac28675227479172f05740b2b76bab82e40e..bda3d917c947a4513a757bf015842ffb6ae7222f 100644 GIT binary patch literal 19968 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 delta 3071 zcmZXW4Nz3q703VYb5|CYgprji}Q{=G6IN;07djv>IN4iu@3+QsV z5Ks%3D0i3I72Rf>cju|uC|qUSaDUt5p|;GVdr#90a@a?8dRK?hSl}r)W16TdlP1Yr z>XxknGK=pev&3?YS3NmPIz(|c7k}BxkSB*TXyUGg;$1A?_{3A?*+bdylu@z-xl3h~ z&|72})fsuxUZX9eM9QQ%NAB8ZEYj|Fi?Xh7P(w+D9A@Y={+RJ4Da-ggqmpz*W~G#E zbh5roy3qIoYerV3lw)iZ8hVK1$n^LREoFs z9NM$LqnpkGw@ZPKW%9Oe!SBlf7kR$=tqryG{44R4@k~*r^nU!kqL1v6&z6an7)os} zRKZn|Ab)DFx(d5ZdOmL=(g|6z*R|L&}%QrkUZ!G8Oc^8qyomr0K)=ZMysbeyOb zQIk6LxLSvIObQdN#Z8lbCH+#ZNAZfpoRdWB(7qy)K&S0pwE;gelet9q<7$Fvhu5$k zO<(0oWI1(gL|$crZaBNtjYy_zO)rXE+QcSYHfgo9SKWk9nPPZ5#jiHP>lc+V#OQoC zW55rwem`DJIjnvSBW5yvL9e<6*((#JcM&zA$E2?;(6JR`CfSnx>Q>nA6P5k=t<$eQ zh!&<8WVugm#x9daDEBa0=_ZNgkLrH)>u6dHv3?9UWxv{j9zsDMNquT7UT5mZvnlVX zZMbUYKC|iAi3@8Il_8~9-HDz+f=W}bs3E**QnPYJ?ZDycMDA$n33VT4O%ivl6Q2r- z(1PN!?MGuxqEuYAF1Uk&5|`~D?qW(@wu30LNWwu>C5SHDb@dRQFsWJpliH1m1o36- z#&t6%?pilKWNLgKzT{ad{WqhaIkg8a@wbBKaSgZC$Ixifhxl9#}D` z?Fc+|#=n-gM(VW_q8|z_N#jbR_MAn-Nv{cK*}&#l~qQm?&fk=Wqd z7Ky&dg?Wv`R#NQnU5msHM=TPJ7fni>%$SuEJG^8O?NA%HNc6o=BwDa9IvERpjA42HU2iX}C8qtS1F+_=1 z^${$lhEYyWaXiiO497Dx-J~u_Vo603m5L-BFFT7^eeC<#53p0s8e~7nemgrmSR)}$ zgg6mpE5_Q#ejob->olum7tTl$*R#UG^{fHbcGf8C0P9$)xB+m9Gw`woSfi{1uEh~bjJdcd zO%z30pGadTogLOQ>B5<1g`0iWF*jFw*kL{65zbf!*JlbX$P%h%v%|WEetdT05FUrI zH;|XQR^BT=Dj$)L$*1Ml<@3gKfzYO24LGNUNoP}{q(1dYQfJclNuRR+fb>ABLAr?b zyi>#p{fF~~FUCfF^?#LnUA8qJ= zdhdnbjjucqPkyjm&em+QEnm|z(i$Yq0ZBaF$alk7`A|6in}_=4bh}rP((~;3n$xSL zN1vh4XlcohA8Xk!Eh`xw9fP#7QKm1KBQ$o0X>6mw{7Ce4(2( Hc1!smkFaMN diff --git a/NoSugarNet.ServerCore/Manager/ClientManager.cs b/NoSugarNet.ServerCore/Manager/ClientManager.cs index b2b1128..542aadf 100644 --- a/NoSugarNet.ServerCore/Manager/ClientManager.cs +++ b/NoSugarNet.ServerCore/Manager/ClientManager.cs @@ -11,6 +11,7 @@ namespace ServerCore.Manager public Socket _socket { get; set; } public bool IsOffline { get; set; } = false; public DateTime LogOutDT { get; set; } + } public class ClientManager @@ -64,7 +65,6 @@ namespace ServerCore.Manager public ClientInfo JoinNewClient(Protobuf_Login data, Socket _socket) { //也许这个函数需加lock - ClientInfo cinfo = GetClientForSocket(_socket); //如果连接还在 if (cinfo != null) diff --git a/NoSugarNet.ServerCore/Manager/LocalClientManager.cs b/NoSugarNet.ServerCore/Manager/LocalClientManager.cs index a27d414..345caee 100644 --- a/NoSugarNet.ServerCore/Manager/LocalClientManager.cs +++ b/NoSugarNet.ServerCore/Manager/LocalClientManager.cs @@ -1,5 +1,5 @@ using AxibugProtobuf; -using ClientCore.Network; +using NoSugarNet.ClientCore.Network; using Google.Protobuf; using NoSugarNet.ServerCore.Common; using ServerCore.Common; @@ -17,9 +17,14 @@ namespace ServerCore.Manager } Dictionary mDictTunnelID2Cfg = new Dictionary(); - Dictionary> mDictUid2ServerLocalClients = new Dictionary>(); + Dictionary mDictCommKey2ServerLocalClients = new Dictionary(); CompressAdapter mCompressAdapter; + static long GetCommKey(long Uid, int Tunnel, int Idx) + { + return (Uid * 10000000) + (Tunnel * 10000) + Idx; + } + public LocalClientManager() { //初始化压缩适配器,暂时使用0,代表压缩类型 @@ -37,84 +42,78 @@ namespace ServerCore.Manager /// /// /// - void AddServerLocalClient(long uid, byte tunnelId, ServerLocalClient serverClient) + void AddServerLocalClient(long uid, byte tunnelId,byte Idx, ServerLocalClient serverClient) { - lock (mDictUid2ServerLocalClients) + long CommKey = GetCommKey(uid, tunnelId, Idx); + lock (mDictCommKey2ServerLocalClients) { - if (!mDictUid2ServerLocalClients.ContainsKey(uid)) - mDictUid2ServerLocalClients[uid] = new Dictionary(); - - mDictUid2ServerLocalClients[uid][tunnelId] = serverClient; + mDictCommKey2ServerLocalClients[CommKey] = serverClient; } } + /// /// 删除连接 /// /// /// - void RemoveServerLocalClient(long uid, byte tunnelId) + void RemoveServerLocalClient(long uid, byte tunnelId, byte Idx) { - lock (mDictUid2ServerLocalClients) + lock (mDictCommKey2ServerLocalClients) { - if (!mDictUid2ServerLocalClients.ContainsKey(uid)) + long CommKey = GetCommKey(uid, tunnelId, Idx); + + if (!mDictCommKey2ServerLocalClients.ContainsKey(CommKey)) return; - - if (!mDictUid2ServerLocalClients[uid].ContainsKey(tunnelId)) - return; - - mDictUid2ServerLocalClients[uid].Remove(tunnelId); - - if (mDictUid2ServerLocalClients[uid].Count < 1) - mDictUid2ServerLocalClients.Remove(uid); + mDictCommKey2ServerLocalClients.Remove(CommKey); } } - bool GetServerLocalClient(long uid, byte tunnelId,out ServerLocalClient serverLocalClient) + + bool GetServerLocalClient(long uid, byte tunnelId, byte Idx,out ServerLocalClient serverLocalClient) { serverLocalClient = null; - if (!mDictUid2ServerLocalClients.ContainsKey(uid)) + + long CommKey = GetCommKey(uid, tunnelId, Idx); + + if (!mDictCommKey2ServerLocalClients.ContainsKey(CommKey)) return false; - if (!mDictUid2ServerLocalClients[uid].ContainsKey(tunnelId)) - return false; - - serverLocalClient = mDictUid2ServerLocalClients[uid][tunnelId]; + serverLocalClient = mDictCommKey2ServerLocalClients[CommKey]; return true; } #endregion - #region 解析客户端上行数据 public void Recive_TunnelC2SConnect(Socket sk, byte[] reqData) { ClientInfo _c = ServerManager.g_ClientMgr.GetClientForSocket(sk); ServerManager.g_Log.Debug("OnTunnelC2SConnect"); Protobuf_C2S_Connect msg = ProtoBufHelper.DeSerizlize(reqData); - OnClientLocalConnect(_c.UID, (byte)msg.TunnelID); + OnClientLocalConnect(_c.UID, (byte)msg.TunnelID, (byte)msg.Idx); } + public void Recive_TunnelC2SDisconnect(Socket sk, byte[] reqData) { ClientInfo _c = ServerManager.g_ClientMgr.GetClientForSocket(sk); ServerManager.g_Log.Debug("Recive_TunnelC2SDisconnect"); Protobuf_C2S_Disconnect msg = ProtoBufHelper.DeSerizlize(reqData); - OnClientLocalDisconnect(_c.UID, (byte)msg.TunnelID); + OnClientLocalDisconnect(_c.UID, (byte)msg.TunnelID,(byte)msg.Idx); } public void Recive_TunnelC2SData(Socket sk, byte[] reqData) { ClientInfo _c = ServerManager.g_ClientMgr.GetClientForSocket(sk); ServerManager.g_Log.Debug("OnTunnelC2SData"); Protobuf_C2S_DATA msg = ProtoBufHelper.DeSerizlize(reqData); - OnClientTunnelDataCallBack(_c.UID, (byte)msg.TunnelID, msg.HunterNetCoreData.ToArray()); + OnClientTunnelDataCallBack(_c.UID, (byte)msg.TunnelID, (byte)msg.Idx, msg.HunterNetCoreData.ToArray()); } #endregion - #region 两端本地端口连接事件通知 /// /// 当客户端本地端口连接 /// /// /// - void OnClientLocalConnect(long uid, byte tunnelId) + void OnClientLocalConnect(long uid, byte tunnelId,int Idx) { if (!ServerManager.g_ClientMgr.GetClientByUID(uid, out ClientInfo client)) return; @@ -127,7 +126,7 @@ namespace ServerCore.Manager { //服务器本地局域网连接指定端口 TunnelClientData tunnelDataCfg = mDictTunnelID2Cfg[tunnelId]; - ServerLocalClient serverLocalClient = new ServerLocalClient(tunnelId); + ServerLocalClient serverLocalClient = new ServerLocalClient(tunnelId, (byte)Idx); //连接成功 if (!serverLocalClient.Init(tunnelDataCfg.IP, tunnelDataCfg.Port)) { @@ -142,17 +141,17 @@ namespace ServerCore.Manager /// /// /// - void OnClientLocalDisconnect(long uid, byte tunnelId) + void OnClientLocalDisconnect(long uid, byte tunnelId,byte Idx) { if (!ServerManager.g_ClientMgr.GetClientByUID(uid, out ClientInfo client)) return; //隧道ID定位投递服务端本地连接 - if (!GetServerLocalClient(uid, tunnelId, out ServerLocalClient serverLocalClient)) + if (!GetServerLocalClient(uid, tunnelId, Idx, out ServerLocalClient serverLocalClient)) return; //清楚服务器数据 - RemoveServerLocalClient(uid, tunnelId); + RemoveServerLocalClient(uid, tunnelId, Idx); //断开服务端本地客户端连接 serverLocalClient.CloseConntect(); } @@ -161,17 +160,18 @@ namespace ServerCore.Manager /// /// /// - public void OnServerLocalConnect(long uid, byte tunnelId, ServerLocalClient serverLocalClient) + public void OnServerLocalConnect(long uid, byte tunnelId, byte Idx, ServerLocalClient serverLocalClient) { if (!ServerManager.g_ClientMgr.GetClientByUID(uid, out ClientInfo client)) return; //添加到服务端本地连接列表 - AddServerLocalClient(uid, tunnelId, serverLocalClient); + AddServerLocalClient(uid, tunnelId, Idx, serverLocalClient); byte[] respData = ProtoBufHelper.Serizlize(new Protobuf_S2C_Connect() { TunnelID = tunnelId, + Idx = Idx, }); //发送给客户端,指定服务端本地端口已连接 ServerManager.g_ClientMgr.ClientSend(client, (int)CommandID.CmdTunnelS2CConnect, (int)ErrorCode.ErrorOk, respData); @@ -181,16 +181,17 @@ namespace ServerCore.Manager /// /// /// - public void OnServerLocalDisconnect(long uid, byte tunnelId, ServerLocalClient serverLocalClient) + public void OnServerLocalDisconnect(long uid, byte tunnelId, byte Idx, ServerLocalClient serverLocalClient) { if (!ServerManager.g_ClientMgr.GetClientByUID(uid, out ClientInfo client)) return; //添加到服务端本地连接列表 - RemoveServerLocalClient(uid, tunnelId); + RemoveServerLocalClient(uid, tunnelId, Idx); byte[] respData = ProtoBufHelper.Serizlize(new Protobuf_S2C_Disconnect() { TunnelID = tunnelId, + Idx= Idx, }); //发送给客户端,指定服务端本地端口连接已断开 ServerManager.g_ClientMgr.ClientSend(client, (int)CommandID.CmdTunnelS2CDisconnect, (int)ErrorCode.ErrorOk, respData); @@ -204,7 +205,7 @@ namespace ServerCore.Manager /// /// /// - public void OnServerLocalDataCallBack(long uid, byte tunnelId, byte[] data) + public void OnServerLocalDataCallBack(long uid, byte tunnelId,byte Idx, byte[] data) { if (!ServerManager.g_ClientMgr.GetClientByUID(uid, out ClientInfo client)) return; @@ -214,6 +215,7 @@ namespace ServerCore.Manager byte[] respData = ProtoBufHelper.Serizlize(new Protobuf_C2S_DATA() { TunnelID = tunnelId, + Idx = Idx, HunterNetCoreData = ByteString.CopyFrom(data) }); @@ -226,10 +228,10 @@ namespace ServerCore.Manager /// /// /// - public void OnClientTunnelDataCallBack(long uid, byte tunnelId, byte[] data) + public void OnClientTunnelDataCallBack(long uid, byte tunnelId, byte Idx, byte[] data) { //隧道ID定位投递服务端本地连接 - if (!GetServerLocalClient(uid, tunnelId, out ServerLocalClient serverLocalClient)) + if (!GetServerLocalClient(uid, tunnelId, Idx, out ServerLocalClient serverLocalClient)) return; //解压 diff --git a/NoSugarNet.ServerCore/Manager/ServerLocalClient/ServerLocalClient.cs b/NoSugarNet.ServerCore/Manager/ServerLocalClient/ServerLocalClient.cs index b13a35e..8adf70f 100644 --- a/NoSugarNet.ServerCore/Manager/ServerLocalClient/ServerLocalClient.cs +++ b/NoSugarNet.ServerCore/Manager/ServerLocalClient/ServerLocalClient.cs @@ -1,7 +1,7 @@ -using HaoYueNet.ClientNetwork; +using HaoYueNet.ClientNetwork.OtherMode; using ServerCore.Manager; -namespace ClientCore.Network +namespace NoSugarNet.ClientCore.Network { /// /// 继承网络库,以支持网络功能 @@ -10,9 +10,11 @@ namespace ClientCore.Network { public long mUID; public byte mTunnelID; - public ServerLocalClient(byte TunnelID) + public byte mIdx; + public ServerLocalClient(byte TunnelID, byte Idx) { mTunnelID = TunnelID; + mIdx = Idx; //指定接收服务器数据事件 OnReceiveData += GetDataCallBack; //断开连接 @@ -27,7 +29,7 @@ namespace ClientCore.Network NetworkDeBugLog($"NetworkConnected:{IsConnect}"); if (IsConnect) { - ServerManager.g_Local.OnServerLocalConnect(mUID, mTunnelID,this); + ServerManager.g_Local.OnServerLocalConnect(mUID, mTunnelID, mIdx, this); } else { @@ -55,7 +57,7 @@ namespace ClientCore.Network try { //抛出网络数据 - ServerManager.g_Local.OnServerLocalDataCallBack(mUID, mTunnelID, data); + ServerManager.g_Local.OnServerLocalDataCallBack(mUID, mTunnelID, mIdx, data); } catch (Exception ex) { @@ -70,7 +72,7 @@ namespace ClientCore.Network public void OnConnectClose() { NetworkDeBugLog("OnConnectClose"); - ServerManager.g_Local.OnServerLocalDisconnect(mUID, mTunnelID,this); + ServerManager.g_Local.OnServerLocalDisconnect(mUID, mTunnelID,mIdx,this); } } } diff --git a/NoSugarNet.ServerCore/Protobuf/ProtobufNoSugar.cs b/NoSugarNet.ServerCore/Protobuf/ProtobufNoSugar.cs index 4fa9bc6..44acd31 100644 --- a/NoSugarNet.ServerCore/Protobuf/ProtobufNoSugar.cs +++ b/NoSugarNet.ServerCore/Protobuf/ProtobufNoSugar.cs @@ -31,40 +31,47 @@ namespace AxibugProtobuf { "cmQYBCABKAkifwoTUHJvdG9idWZfTG9naW5fUkVTUBINCgVUb2tlbhgBIAEo", "CRIVCg1MYXN0TG9naW5EYXRlGAIgASgJEg8KB1JlZ0RhdGUYAyABKAkSMQoG", "U3RhdHVzGAQgASgOMiEuQXhpYnVnUHJvdG9idWYuTG9naW5SZXN1bHRTdGF0", - "dXMiIwoQUHJvdG9idWZfQ2hhdE1zZxIPCgdDaGF0TXNnGAEgASgJIkgKFVBy", - "b3RvYnVmX0NoYXRNc2dfUkVTUBIQCghOaWNrTmFtZRgBIAEoCRIPCgdDaGF0", - "TXNnGAIgASgJEgwKBERhdGUYAyABKAMiKAoUUHJvdG9idWZfQzJTX0Nvbm5l", - "Y3QSEAoIVHVubmVsSUQYASABKAUiKAoUUHJvdG9idWZfUzJDX0Nvbm5lY3QS", - "EAoIVHVubmVsSUQYASABKAUiKwoXUHJvdG9idWZfQzJTX0Rpc2Nvbm5lY3QS", - "EAoIVHVubmVsSUQYASABKAUiKwoXUHJvdG9idWZfUzJDX0Rpc2Nvbm5lY3QS", - "EAoIVHVubmVsSUQYASABKAUiQQoRUHJvdG9idWZfQzJTX0RBVEESEAoIVHVu", - "bmVsSUQYASABKAUSGgoSSHVudGVyTmV0Q29yZV9EYXRhGAIgASgMIkEKEVBy", - "b3RvYnVmX1MyQ19EQVRBEhAKCFR1bm5lbElEGAEgASgFEhoKEkh1bnRlck5l", - "dENvcmVfRGF0YRgCIAEoDCrrAQoJQ29tbWFuZElEEg4KCkNNRF9ERUZBVUwQ", - "ABIOCglDTURfTE9HSU4Q0Q8SEAoLQ01EX0NIQVRNU0cQoR8SGwoWQ01EX1RV", - "Tk5FTF9DMlNfQ09OTkVDVBCIJxIbChZDTURfVFVOTkVMX1MyQ19DT05ORUNU", - "EIknEh4KGUNNRF9UVU5ORUxfQzJTX0RJU0NPTk5FQ1QQiicSHgoZQ01EX1RV", - "Tk5FTF9TMkNfRElTQ09OTkVDVBCLJxIYChNDTURfVFVOTkVMX0MyU19EQVRB", - "EIwnEhgKE0NNRF9UVU5ORUxfUzJDX0RBVEEQjScqKwoJRXJyb3JDb2RlEhAK", - "DEVSUk9SX0RFRkFVTBAAEgwKCEVSUk9SX09LEAEqPgoJTG9naW5UeXBlEg8K", - "C0Jhc2VEZWZhdWx0EAASDgoKSGFvWXVlQXV0aBABEgcKA0JGMxADEgcKA0JG", - "NBAEKksKCkRldmljZVR5cGUSFgoSRGV2aWNlVHlwZV9EZWZhdWx0EAASBgoC", - "UEMQARILCgdBbmRyb2lkEAISBwoDSU9TEAMSBwoDUFNWEAQqTgoRTG9naW5S", - "ZXN1bHRTdGF0dXMSIQodTG9naW5SZXN1bHRTdGF0dXNfQmFzZURlZmF1bHQQ", - "ABIGCgJPSxABEg4KCkFjY291bnRFcnIQAkICSAFiBnByb3RvMw==")); + "dXMiQwoNUHJvdG9idWZfQ2ZncxIyCgRjZmdzGAEgAygLMiQuQXhpYnVnUHJv", + "dG9idWYuUHJvdG9idWZfQ2Znc19TaW5nbGUiQgoUUHJvdG9idWZfQ2Znc19T", + "aW5nbGUSEAoIVHVubmVsSUQYASABKA0SCgoCSVAYAiABKAkSDAoEUG9ydBgD", + "IAEoBSIjChBQcm90b2J1Zl9DaGF0TXNnEg8KB0NoYXRNc2cYASABKAkiSAoV", + "UHJvdG9idWZfQ2hhdE1zZ19SRVNQEhAKCE5pY2tOYW1lGAEgASgJEg8KB0No", + "YXRNc2cYAiABKAkSDAoERGF0ZRgDIAEoAyI1ChRQcm90b2J1Zl9DMlNfQ29u", + "bmVjdBIQCghUdW5uZWxJRBgBIAEoDRILCgNJZHgYAiABKA0iNQoUUHJvdG9i", + "dWZfUzJDX0Nvbm5lY3QSEAoIVHVubmVsSUQYASABKA0SCwoDSWR4GAIgASgN", + "IjgKF1Byb3RvYnVmX0MyU19EaXNjb25uZWN0EhAKCFR1bm5lbElEGAEgASgN", + "EgsKA0lkeBgCIAEoDSI4ChdQcm90b2J1Zl9TMkNfRGlzY29ubmVjdBIQCghU", + "dW5uZWxJRBgBIAEoDRILCgNJZHgYAiABKA0iTgoRUHJvdG9idWZfQzJTX0RB", + "VEESEAoIVHVubmVsSUQYASABKA0SCwoDSWR4GAIgASgNEhoKEkh1bnRlck5l", + "dENvcmVfRGF0YRgDIAEoDCJOChFQcm90b2J1Zl9TMkNfREFUQRIQCghUdW5u", + "ZWxJRBgBIAEoDRILCgNJZHgYAiABKA0SGgoSSHVudGVyTmV0Q29yZV9EYXRh", + "GAMgASgMKvoBCglDb21tYW5kSUQSDgoKQ01EX0RFRkFVTBAAEg4KCUNNRF9M", + "T0dJThDRDxINCghDTURfQ0ZHUxC5FxIQCgtDTURfQ0hBVE1TRxChHxIbChZD", + "TURfVFVOTkVMX0MyU19DT05ORUNUEIgnEhsKFkNNRF9UVU5ORUxfUzJDX0NP", + "Tk5FQ1QQiScSHgoZQ01EX1RVTk5FTF9DMlNfRElTQ09OTkVDVBCKJxIeChlD", + "TURfVFVOTkVMX1MyQ19ESVNDT05ORUNUEIsnEhgKE0NNRF9UVU5ORUxfQzJT", + "X0RBVEEQjCcSGAoTQ01EX1RVTk5FTF9TMkNfREFUQRCNJyorCglFcnJvckNv", + "ZGUSEAoMRVJST1JfREVGQVVMEAASDAoIRVJST1JfT0sQASo+CglMb2dpblR5", + "cGUSDwoLQmFzZURlZmF1bHQQABIOCgpIYW9ZdWVBdXRoEAESBwoDQkYzEAMS", + "BwoDQkY0EAQqSwoKRGV2aWNlVHlwZRIWChJEZXZpY2VUeXBlX0RlZmF1bHQQ", + "ABIGCgJQQxABEgsKB0FuZHJvaWQQAhIHCgNJT1MQAxIHCgNQU1YQBCpOChFM", + "b2dpblJlc3VsdFN0YXR1cxIhCh1Mb2dpblJlc3VsdFN0YXR1c19CYXNlRGVm", + "YXVsdBAAEgYKAk9LEAESDgoKQWNjb3VudEVychACQgJIAWIGcHJvdG8z")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { }, new pbr::GeneratedClrTypeInfo(new[] {typeof(global::AxibugProtobuf.CommandID), typeof(global::AxibugProtobuf.ErrorCode), typeof(global::AxibugProtobuf.LoginType), typeof(global::AxibugProtobuf.DeviceType), typeof(global::AxibugProtobuf.LoginResultStatus), }, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Login), global::AxibugProtobuf.Protobuf_Login.Parser, new[]{ "LoginType", "DeviceType", "Account", "Password" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Login_RESP), global::AxibugProtobuf.Protobuf_Login_RESP.Parser, new[]{ "Token", "LastLoginDate", "RegDate", "Status" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Cfgs), global::AxibugProtobuf.Protobuf_Cfgs.Parser, new[]{ "Cfgs" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Cfgs_Single), global::AxibugProtobuf.Protobuf_Cfgs_Single.Parser, new[]{ "TunnelID", "IP", "Port" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_ChatMsg), global::AxibugProtobuf.Protobuf_ChatMsg.Parser, new[]{ "ChatMsg" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_ChatMsg_RESP), global::AxibugProtobuf.Protobuf_ChatMsg_RESP.Parser, new[]{ "NickName", "ChatMsg", "Date" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_C2S_Connect), global::AxibugProtobuf.Protobuf_C2S_Connect.Parser, new[]{ "TunnelID" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_S2C_Connect), global::AxibugProtobuf.Protobuf_S2C_Connect.Parser, new[]{ "TunnelID" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_C2S_Disconnect), global::AxibugProtobuf.Protobuf_C2S_Disconnect.Parser, new[]{ "TunnelID" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_S2C_Disconnect), global::AxibugProtobuf.Protobuf_S2C_Disconnect.Parser, new[]{ "TunnelID" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_C2S_DATA), global::AxibugProtobuf.Protobuf_C2S_DATA.Parser, new[]{ "TunnelID", "HunterNetCoreData" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_S2C_DATA), global::AxibugProtobuf.Protobuf_S2C_DATA.Parser, new[]{ "TunnelID", "HunterNetCoreData" }, null, null, null, null) + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_C2S_Connect), global::AxibugProtobuf.Protobuf_C2S_Connect.Parser, new[]{ "TunnelID", "Idx" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_S2C_Connect), global::AxibugProtobuf.Protobuf_S2C_Connect.Parser, new[]{ "TunnelID", "Idx" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_C2S_Disconnect), global::AxibugProtobuf.Protobuf_C2S_Disconnect.Parser, new[]{ "TunnelID", "Idx" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_S2C_Disconnect), global::AxibugProtobuf.Protobuf_S2C_Disconnect.Parser, new[]{ "TunnelID", "Idx" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_C2S_DATA), global::AxibugProtobuf.Protobuf_C2S_DATA.Parser, new[]{ "TunnelID", "Idx", "HunterNetCoreData" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_S2C_DATA), global::AxibugProtobuf.Protobuf_S2C_DATA.Parser, new[]{ "TunnelID", "Idx", "HunterNetCoreData" }, null, null, null, null) })); } #endregion @@ -77,11 +84,15 @@ namespace AxibugProtobuf { /// [pbr::OriginalName("CMD_DEFAUL")] CmdDefaul = 0, /// - ///登录上行 | 下行 对应 Protobuf_Login | Protobuf_Login_RESP + ///自动登录上行 | 下行 对应 Protobuf_Login | Protobuf_Login_RESP /// [pbr::OriginalName("CMD_LOGIN")] CmdLogin = 2001, /// - ///登录上行 | 下行 对应 Protobuf_ChatMsg | Protobuf_ChatMsg_RESP + ///配置信息 下行 对应 Protobuf_Cfgs + /// + [pbr::OriginalName("CMD_CFGS")] CmdCfgs = 3001, + /// + ///广播信息上行 | 下行 对应 Protobuf_ChatMsg | Protobuf_ChatMsg_RESP /// [pbr::OriginalName("CMD_CHATMSG")] CmdChatmsg = 4001, /// @@ -744,6 +755,426 @@ namespace AxibugProtobuf { } + /// + ///配置下行 + /// + public sealed partial class Protobuf_Cfgs : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Protobuf_Cfgs()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pbr::MessageDescriptor Descriptor { + get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[2]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_Cfgs() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_Cfgs(Protobuf_Cfgs other) : this() { + cfgs_ = other.cfgs_.Clone(); + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_Cfgs Clone() { + return new Protobuf_Cfgs(this); + } + + /// Field number for the "cfgs" field. + public const int CfgsFieldNumber = 1; + private static readonly pb::FieldCodec _repeated_cfgs_codec + = pb::FieldCodec.ForMessage(10, global::AxibugProtobuf.Protobuf_Cfgs_Single.Parser); + private readonly pbc::RepeatedField cfgs_ = new pbc::RepeatedField(); + /// + ///配置 + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public pbc::RepeatedField Cfgs { + get { return cfgs_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override bool Equals(object other) { + return Equals(other as Protobuf_Cfgs); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public bool Equals(Protobuf_Cfgs other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if(!cfgs_.Equals(other.cfgs_)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override int GetHashCode() { + int hash = 1; + hash ^= cfgs_.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + cfgs_.WriteTo(output, _repeated_cfgs_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + cfgs_.WriteTo(ref output, _repeated_cfgs_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public int CalculateSize() { + int size = 0; + size += cfgs_.CalculateSize(_repeated_cfgs_codec); + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(Protobuf_Cfgs other) { + if (other == null) { + return; + } + cfgs_.Add(other.cfgs_); + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + cfgs_.AddEntriesFrom(input, _repeated_cfgs_codec); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + cfgs_.AddEntriesFrom(ref input, _repeated_cfgs_codec); + break; + } + } + } + } + #endif + + } + + public sealed partial class Protobuf_Cfgs_Single : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Protobuf_Cfgs_Single()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pbr::MessageDescriptor Descriptor { + get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[3]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_Cfgs_Single() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_Cfgs_Single(Protobuf_Cfgs_Single other) : this() { + tunnelID_ = other.tunnelID_; + iP_ = other.iP_; + port_ = other.port_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_Cfgs_Single Clone() { + return new Protobuf_Cfgs_Single(this); + } + + /// Field number for the "TunnelID" field. + public const int TunnelIDFieldNumber = 1; + private uint tunnelID_; + /// + ///TunnelID + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public uint TunnelID { + get { return tunnelID_; } + set { + tunnelID_ = value; + } + } + + /// Field number for the "IP" field. + public const int IPFieldNumber = 2; + private string iP_ = ""; + /// + ///IP + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public string IP { + get { return iP_; } + set { + iP_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + + /// Field number for the "Port" field. + public const int PortFieldNumber = 3; + private int port_; + /// + ///端口 + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public int Port { + get { return port_; } + set { + port_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override bool Equals(object other) { + return Equals(other as Protobuf_Cfgs_Single); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public bool Equals(Protobuf_Cfgs_Single other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (TunnelID != other.TunnelID) return false; + if (IP != other.IP) return false; + if (Port != other.Port) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override int GetHashCode() { + int hash = 1; + if (TunnelID != 0) hash ^= TunnelID.GetHashCode(); + if (IP.Length != 0) hash ^= IP.GetHashCode(); + if (Port != 0) hash ^= Port.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (TunnelID != 0) { + output.WriteRawTag(8); + output.WriteUInt32(TunnelID); + } + if (IP.Length != 0) { + output.WriteRawTag(18); + output.WriteString(IP); + } + if (Port != 0) { + output.WriteRawTag(24); + output.WriteInt32(Port); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (TunnelID != 0) { + output.WriteRawTag(8); + output.WriteUInt32(TunnelID); + } + if (IP.Length != 0) { + output.WriteRawTag(18); + output.WriteString(IP); + } + if (Port != 0) { + output.WriteRawTag(24); + output.WriteInt32(Port); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public int CalculateSize() { + int size = 0; + if (TunnelID != 0) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(TunnelID); + } + if (IP.Length != 0) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(IP); + } + if (Port != 0) { + size += 1 + pb::CodedOutputStream.ComputeInt32Size(Port); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(Protobuf_Cfgs_Single other) { + if (other == null) { + return; + } + if (other.TunnelID != 0) { + TunnelID = other.TunnelID; + } + if (other.IP.Length != 0) { + IP = other.IP; + } + if (other.Port != 0) { + Port = other.Port; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + TunnelID = input.ReadUInt32(); + break; + } + case 18: { + IP = input.ReadString(); + break; + } + case 24: { + Port = input.ReadInt32(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + TunnelID = input.ReadUInt32(); + break; + } + case 18: { + IP = input.ReadString(); + break; + } + case 24: { + Port = input.ReadInt32(); + break; + } + } + } + } + #endif + + } + /// ///聊天 上行 /// @@ -759,7 +1190,7 @@ namespace AxibugProtobuf { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public static pbr::MessageDescriptor Descriptor { - get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[2]; } + get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[4]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -937,7 +1368,7 @@ namespace AxibugProtobuf { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public static pbr::MessageDescriptor Descriptor { - get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[3]; } + get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[5]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -997,7 +1428,7 @@ namespace AxibugProtobuf { public const int DateFieldNumber = 3; private long date_; /// - ///消息 + ///时间 /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public long Date { @@ -1190,7 +1621,7 @@ namespace AxibugProtobuf { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public static pbr::MessageDescriptor Descriptor { - get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[4]; } + get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[6]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -1208,6 +1639,7 @@ namespace AxibugProtobuf { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public Protobuf_C2S_Connect(Protobuf_C2S_Connect other) : this() { tunnelID_ = other.tunnelID_; + idx_ = other.idx_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -1218,18 +1650,32 @@ namespace AxibugProtobuf { /// Field number for the "TunnelID" field. public const int TunnelIDFieldNumber = 1; - private int tunnelID_; + private uint tunnelID_; /// ///TunnelID /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - public int TunnelID { + public uint TunnelID { get { return tunnelID_; } set { tunnelID_ = value; } } + /// Field number for the "Idx" field. + public const int IdxFieldNumber = 2; + private uint idx_; + /// + ///单个隧道连接下标 + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public uint Idx { + get { return idx_; } + set { + idx_ = value; + } + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public override bool Equals(object other) { return Equals(other as Protobuf_C2S_Connect); @@ -1244,6 +1690,7 @@ namespace AxibugProtobuf { return true; } if (TunnelID != other.TunnelID) return false; + if (Idx != other.Idx) return false; return Equals(_unknownFields, other._unknownFields); } @@ -1251,6 +1698,7 @@ namespace AxibugProtobuf { public override int GetHashCode() { int hash = 1; if (TunnelID != 0) hash ^= TunnelID.GetHashCode(); + if (Idx != 0) hash ^= Idx.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -1269,7 +1717,11 @@ namespace AxibugProtobuf { #else if (TunnelID != 0) { output.WriteRawTag(8); - output.WriteInt32(TunnelID); + output.WriteUInt32(TunnelID); + } + if (Idx != 0) { + output.WriteRawTag(16); + output.WriteUInt32(Idx); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -1282,7 +1734,11 @@ namespace AxibugProtobuf { void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { if (TunnelID != 0) { output.WriteRawTag(8); - output.WriteInt32(TunnelID); + output.WriteUInt32(TunnelID); + } + if (Idx != 0) { + output.WriteRawTag(16); + output.WriteUInt32(Idx); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -1294,7 +1750,10 @@ namespace AxibugProtobuf { public int CalculateSize() { int size = 0; if (TunnelID != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(TunnelID); + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(TunnelID); + } + if (Idx != 0) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Idx); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -1310,6 +1769,9 @@ namespace AxibugProtobuf { if (other.TunnelID != 0) { TunnelID = other.TunnelID; } + if (other.Idx != 0) { + Idx = other.Idx; + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -1325,7 +1787,11 @@ namespace AxibugProtobuf { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 8: { - TunnelID = input.ReadInt32(); + TunnelID = input.ReadUInt32(); + break; + } + case 16: { + Idx = input.ReadUInt32(); break; } } @@ -1343,7 +1809,11 @@ namespace AxibugProtobuf { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 8: { - TunnelID = input.ReadInt32(); + TunnelID = input.ReadUInt32(); + break; + } + case 16: { + Idx = input.ReadUInt32(); break; } } @@ -1365,7 +1835,7 @@ namespace AxibugProtobuf { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public static pbr::MessageDescriptor Descriptor { - get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[5]; } + get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[7]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -1383,6 +1853,7 @@ namespace AxibugProtobuf { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public Protobuf_S2C_Connect(Protobuf_S2C_Connect other) : this() { tunnelID_ = other.tunnelID_; + idx_ = other.idx_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -1393,18 +1864,32 @@ namespace AxibugProtobuf { /// Field number for the "TunnelID" field. public const int TunnelIDFieldNumber = 1; - private int tunnelID_; + private uint tunnelID_; /// ///TunnelID /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - public int TunnelID { + public uint TunnelID { get { return tunnelID_; } set { tunnelID_ = value; } } + /// Field number for the "Idx" field. + public const int IdxFieldNumber = 2; + private uint idx_; + /// + ///单个隧道连接下标 + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public uint Idx { + get { return idx_; } + set { + idx_ = value; + } + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public override bool Equals(object other) { return Equals(other as Protobuf_S2C_Connect); @@ -1419,6 +1904,7 @@ namespace AxibugProtobuf { return true; } if (TunnelID != other.TunnelID) return false; + if (Idx != other.Idx) return false; return Equals(_unknownFields, other._unknownFields); } @@ -1426,6 +1912,7 @@ namespace AxibugProtobuf { public override int GetHashCode() { int hash = 1; if (TunnelID != 0) hash ^= TunnelID.GetHashCode(); + if (Idx != 0) hash ^= Idx.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -1444,7 +1931,11 @@ namespace AxibugProtobuf { #else if (TunnelID != 0) { output.WriteRawTag(8); - output.WriteInt32(TunnelID); + output.WriteUInt32(TunnelID); + } + if (Idx != 0) { + output.WriteRawTag(16); + output.WriteUInt32(Idx); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -1457,7 +1948,11 @@ namespace AxibugProtobuf { void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { if (TunnelID != 0) { output.WriteRawTag(8); - output.WriteInt32(TunnelID); + output.WriteUInt32(TunnelID); + } + if (Idx != 0) { + output.WriteRawTag(16); + output.WriteUInt32(Idx); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -1469,7 +1964,10 @@ namespace AxibugProtobuf { public int CalculateSize() { int size = 0; if (TunnelID != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(TunnelID); + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(TunnelID); + } + if (Idx != 0) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Idx); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -1485,6 +1983,9 @@ namespace AxibugProtobuf { if (other.TunnelID != 0) { TunnelID = other.TunnelID; } + if (other.Idx != 0) { + Idx = other.Idx; + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -1500,7 +2001,11 @@ namespace AxibugProtobuf { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 8: { - TunnelID = input.ReadInt32(); + TunnelID = input.ReadUInt32(); + break; + } + case 16: { + Idx = input.ReadUInt32(); break; } } @@ -1518,7 +2023,11 @@ namespace AxibugProtobuf { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 8: { - TunnelID = input.ReadInt32(); + TunnelID = input.ReadUInt32(); + break; + } + case 16: { + Idx = input.ReadUInt32(); break; } } @@ -1540,7 +2049,7 @@ namespace AxibugProtobuf { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public static pbr::MessageDescriptor Descriptor { - get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[6]; } + get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[8]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -1558,6 +2067,7 @@ namespace AxibugProtobuf { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public Protobuf_C2S_Disconnect(Protobuf_C2S_Disconnect other) : this() { tunnelID_ = other.tunnelID_; + idx_ = other.idx_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -1568,18 +2078,32 @@ namespace AxibugProtobuf { /// Field number for the "TunnelID" field. public const int TunnelIDFieldNumber = 1; - private int tunnelID_; + private uint tunnelID_; /// ///TunnelID /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - public int TunnelID { + public uint TunnelID { get { return tunnelID_; } set { tunnelID_ = value; } } + /// Field number for the "Idx" field. + public const int IdxFieldNumber = 2; + private uint idx_; + /// + ///单个隧道连接下标 + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public uint Idx { + get { return idx_; } + set { + idx_ = value; + } + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public override bool Equals(object other) { return Equals(other as Protobuf_C2S_Disconnect); @@ -1594,6 +2118,7 @@ namespace AxibugProtobuf { return true; } if (TunnelID != other.TunnelID) return false; + if (Idx != other.Idx) return false; return Equals(_unknownFields, other._unknownFields); } @@ -1601,6 +2126,7 @@ namespace AxibugProtobuf { public override int GetHashCode() { int hash = 1; if (TunnelID != 0) hash ^= TunnelID.GetHashCode(); + if (Idx != 0) hash ^= Idx.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -1619,7 +2145,11 @@ namespace AxibugProtobuf { #else if (TunnelID != 0) { output.WriteRawTag(8); - output.WriteInt32(TunnelID); + output.WriteUInt32(TunnelID); + } + if (Idx != 0) { + output.WriteRawTag(16); + output.WriteUInt32(Idx); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -1632,7 +2162,11 @@ namespace AxibugProtobuf { void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { if (TunnelID != 0) { output.WriteRawTag(8); - output.WriteInt32(TunnelID); + output.WriteUInt32(TunnelID); + } + if (Idx != 0) { + output.WriteRawTag(16); + output.WriteUInt32(Idx); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -1644,7 +2178,10 @@ namespace AxibugProtobuf { public int CalculateSize() { int size = 0; if (TunnelID != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(TunnelID); + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(TunnelID); + } + if (Idx != 0) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Idx); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -1660,6 +2197,9 @@ namespace AxibugProtobuf { if (other.TunnelID != 0) { TunnelID = other.TunnelID; } + if (other.Idx != 0) { + Idx = other.Idx; + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -1675,7 +2215,11 @@ namespace AxibugProtobuf { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 8: { - TunnelID = input.ReadInt32(); + TunnelID = input.ReadUInt32(); + break; + } + case 16: { + Idx = input.ReadUInt32(); break; } } @@ -1693,7 +2237,11 @@ namespace AxibugProtobuf { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 8: { - TunnelID = input.ReadInt32(); + TunnelID = input.ReadUInt32(); + break; + } + case 16: { + Idx = input.ReadUInt32(); break; } } @@ -1715,7 +2263,7 @@ namespace AxibugProtobuf { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public static pbr::MessageDescriptor Descriptor { - get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[7]; } + get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[9]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -1733,6 +2281,7 @@ namespace AxibugProtobuf { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public Protobuf_S2C_Disconnect(Protobuf_S2C_Disconnect other) : this() { tunnelID_ = other.tunnelID_; + idx_ = other.idx_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -1743,18 +2292,32 @@ namespace AxibugProtobuf { /// Field number for the "TunnelID" field. public const int TunnelIDFieldNumber = 1; - private int tunnelID_; + private uint tunnelID_; /// ///TunnelID /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - public int TunnelID { + public uint TunnelID { get { return tunnelID_; } set { tunnelID_ = value; } } + /// Field number for the "Idx" field. + public const int IdxFieldNumber = 2; + private uint idx_; + /// + ///单个隧道连接下标 + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public uint Idx { + get { return idx_; } + set { + idx_ = value; + } + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public override bool Equals(object other) { return Equals(other as Protobuf_S2C_Disconnect); @@ -1769,6 +2332,7 @@ namespace AxibugProtobuf { return true; } if (TunnelID != other.TunnelID) return false; + if (Idx != other.Idx) return false; return Equals(_unknownFields, other._unknownFields); } @@ -1776,6 +2340,7 @@ namespace AxibugProtobuf { public override int GetHashCode() { int hash = 1; if (TunnelID != 0) hash ^= TunnelID.GetHashCode(); + if (Idx != 0) hash ^= Idx.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -1794,7 +2359,11 @@ namespace AxibugProtobuf { #else if (TunnelID != 0) { output.WriteRawTag(8); - output.WriteInt32(TunnelID); + output.WriteUInt32(TunnelID); + } + if (Idx != 0) { + output.WriteRawTag(16); + output.WriteUInt32(Idx); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -1807,7 +2376,11 @@ namespace AxibugProtobuf { void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { if (TunnelID != 0) { output.WriteRawTag(8); - output.WriteInt32(TunnelID); + output.WriteUInt32(TunnelID); + } + if (Idx != 0) { + output.WriteRawTag(16); + output.WriteUInt32(Idx); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -1819,7 +2392,10 @@ namespace AxibugProtobuf { public int CalculateSize() { int size = 0; if (TunnelID != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(TunnelID); + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(TunnelID); + } + if (Idx != 0) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Idx); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -1835,6 +2411,9 @@ namespace AxibugProtobuf { if (other.TunnelID != 0) { TunnelID = other.TunnelID; } + if (other.Idx != 0) { + Idx = other.Idx; + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -1850,7 +2429,11 @@ namespace AxibugProtobuf { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 8: { - TunnelID = input.ReadInt32(); + TunnelID = input.ReadUInt32(); + break; + } + case 16: { + Idx = input.ReadUInt32(); break; } } @@ -1868,7 +2451,11 @@ namespace AxibugProtobuf { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 8: { - TunnelID = input.ReadInt32(); + TunnelID = input.ReadUInt32(); + break; + } + case 16: { + Idx = input.ReadUInt32(); break; } } @@ -1890,7 +2477,7 @@ namespace AxibugProtobuf { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public static pbr::MessageDescriptor Descriptor { - get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[8]; } + get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[10]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -1908,6 +2495,7 @@ namespace AxibugProtobuf { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public Protobuf_C2S_DATA(Protobuf_C2S_DATA other) : this() { tunnelID_ = other.tunnelID_; + idx_ = other.idx_; hunterNetCoreData_ = other.hunterNetCoreData_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -1919,20 +2507,34 @@ namespace AxibugProtobuf { /// Field number for the "TunnelID" field. public const int TunnelIDFieldNumber = 1; - private int tunnelID_; + private uint tunnelID_; /// ///TunnelID /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - public int TunnelID { + public uint TunnelID { get { return tunnelID_; } set { tunnelID_ = value; } } + /// Field number for the "Idx" field. + public const int IdxFieldNumber = 2; + private uint idx_; + /// + ///单个隧道连接下标 + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public uint Idx { + get { return idx_; } + set { + idx_ = value; + } + } + /// Field number for the "HunterNetCore_Data" field. - public const int HunterNetCoreDataFieldNumber = 2; + public const int HunterNetCoreDataFieldNumber = 3; private pb::ByteString hunterNetCoreData_ = pb::ByteString.Empty; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public pb::ByteString HunterNetCoreData { @@ -1956,6 +2558,7 @@ namespace AxibugProtobuf { return true; } if (TunnelID != other.TunnelID) return false; + if (Idx != other.Idx) return false; if (HunterNetCoreData != other.HunterNetCoreData) return false; return Equals(_unknownFields, other._unknownFields); } @@ -1964,6 +2567,7 @@ namespace AxibugProtobuf { public override int GetHashCode() { int hash = 1; if (TunnelID != 0) hash ^= TunnelID.GetHashCode(); + if (Idx != 0) hash ^= Idx.GetHashCode(); if (HunterNetCoreData.Length != 0) hash ^= HunterNetCoreData.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); @@ -1983,10 +2587,14 @@ namespace AxibugProtobuf { #else if (TunnelID != 0) { output.WriteRawTag(8); - output.WriteInt32(TunnelID); + output.WriteUInt32(TunnelID); + } + if (Idx != 0) { + output.WriteRawTag(16); + output.WriteUInt32(Idx); } if (HunterNetCoreData.Length != 0) { - output.WriteRawTag(18); + output.WriteRawTag(26); output.WriteBytes(HunterNetCoreData); } if (_unknownFields != null) { @@ -2000,10 +2608,14 @@ namespace AxibugProtobuf { void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { if (TunnelID != 0) { output.WriteRawTag(8); - output.WriteInt32(TunnelID); + output.WriteUInt32(TunnelID); + } + if (Idx != 0) { + output.WriteRawTag(16); + output.WriteUInt32(Idx); } if (HunterNetCoreData.Length != 0) { - output.WriteRawTag(18); + output.WriteRawTag(26); output.WriteBytes(HunterNetCoreData); } if (_unknownFields != null) { @@ -2016,7 +2628,10 @@ namespace AxibugProtobuf { public int CalculateSize() { int size = 0; if (TunnelID != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(TunnelID); + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(TunnelID); + } + if (Idx != 0) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Idx); } if (HunterNetCoreData.Length != 0) { size += 1 + pb::CodedOutputStream.ComputeBytesSize(HunterNetCoreData); @@ -2035,6 +2650,9 @@ namespace AxibugProtobuf { if (other.TunnelID != 0) { TunnelID = other.TunnelID; } + if (other.Idx != 0) { + Idx = other.Idx; + } if (other.HunterNetCoreData.Length != 0) { HunterNetCoreData = other.HunterNetCoreData; } @@ -2053,10 +2671,14 @@ namespace AxibugProtobuf { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 8: { - TunnelID = input.ReadInt32(); + TunnelID = input.ReadUInt32(); break; } - case 18: { + case 16: { + Idx = input.ReadUInt32(); + break; + } + case 26: { HunterNetCoreData = input.ReadBytes(); break; } @@ -2075,10 +2697,14 @@ namespace AxibugProtobuf { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 8: { - TunnelID = input.ReadInt32(); + TunnelID = input.ReadUInt32(); break; } - case 18: { + case 16: { + Idx = input.ReadUInt32(); + break; + } + case 26: { HunterNetCoreData = input.ReadBytes(); break; } @@ -2101,7 +2727,7 @@ namespace AxibugProtobuf { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public static pbr::MessageDescriptor Descriptor { - get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[9]; } + get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[11]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -2119,6 +2745,7 @@ namespace AxibugProtobuf { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public Protobuf_S2C_DATA(Protobuf_S2C_DATA other) : this() { tunnelID_ = other.tunnelID_; + idx_ = other.idx_; hunterNetCoreData_ = other.hunterNetCoreData_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -2130,20 +2757,34 @@ namespace AxibugProtobuf { /// Field number for the "TunnelID" field. public const int TunnelIDFieldNumber = 1; - private int tunnelID_; + private uint tunnelID_; /// ///TunnelID /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - public int TunnelID { + public uint TunnelID { get { return tunnelID_; } set { tunnelID_ = value; } } + /// Field number for the "Idx" field. + public const int IdxFieldNumber = 2; + private uint idx_; + /// + ///单个隧道连接下标 + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public uint Idx { + get { return idx_; } + set { + idx_ = value; + } + } + /// Field number for the "HunterNetCore_Data" field. - public const int HunterNetCoreDataFieldNumber = 2; + public const int HunterNetCoreDataFieldNumber = 3; private pb::ByteString hunterNetCoreData_ = pb::ByteString.Empty; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public pb::ByteString HunterNetCoreData { @@ -2167,6 +2808,7 @@ namespace AxibugProtobuf { return true; } if (TunnelID != other.TunnelID) return false; + if (Idx != other.Idx) return false; if (HunterNetCoreData != other.HunterNetCoreData) return false; return Equals(_unknownFields, other._unknownFields); } @@ -2175,6 +2817,7 @@ namespace AxibugProtobuf { public override int GetHashCode() { int hash = 1; if (TunnelID != 0) hash ^= TunnelID.GetHashCode(); + if (Idx != 0) hash ^= Idx.GetHashCode(); if (HunterNetCoreData.Length != 0) hash ^= HunterNetCoreData.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); @@ -2194,10 +2837,14 @@ namespace AxibugProtobuf { #else if (TunnelID != 0) { output.WriteRawTag(8); - output.WriteInt32(TunnelID); + output.WriteUInt32(TunnelID); + } + if (Idx != 0) { + output.WriteRawTag(16); + output.WriteUInt32(Idx); } if (HunterNetCoreData.Length != 0) { - output.WriteRawTag(18); + output.WriteRawTag(26); output.WriteBytes(HunterNetCoreData); } if (_unknownFields != null) { @@ -2211,10 +2858,14 @@ namespace AxibugProtobuf { void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { if (TunnelID != 0) { output.WriteRawTag(8); - output.WriteInt32(TunnelID); + output.WriteUInt32(TunnelID); + } + if (Idx != 0) { + output.WriteRawTag(16); + output.WriteUInt32(Idx); } if (HunterNetCoreData.Length != 0) { - output.WriteRawTag(18); + output.WriteRawTag(26); output.WriteBytes(HunterNetCoreData); } if (_unknownFields != null) { @@ -2227,7 +2878,10 @@ namespace AxibugProtobuf { public int CalculateSize() { int size = 0; if (TunnelID != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(TunnelID); + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(TunnelID); + } + if (Idx != 0) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Idx); } if (HunterNetCoreData.Length != 0) { size += 1 + pb::CodedOutputStream.ComputeBytesSize(HunterNetCoreData); @@ -2246,6 +2900,9 @@ namespace AxibugProtobuf { if (other.TunnelID != 0) { TunnelID = other.TunnelID; } + if (other.Idx != 0) { + Idx = other.Idx; + } if (other.HunterNetCoreData.Length != 0) { HunterNetCoreData = other.HunterNetCoreData; } @@ -2264,10 +2921,14 @@ namespace AxibugProtobuf { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 8: { - TunnelID = input.ReadInt32(); + TunnelID = input.ReadUInt32(); break; } - case 18: { + case 16: { + Idx = input.ReadUInt32(); + break; + } + case 26: { HunterNetCoreData = input.ReadBytes(); break; } @@ -2286,10 +2947,14 @@ namespace AxibugProtobuf { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 8: { - TunnelID = input.ReadInt32(); + TunnelID = input.ReadUInt32(); break; } - case 18: { + case 16: { + Idx = input.ReadUInt32(); + break; + } + case 26: { HunterNetCoreData = input.ReadBytes(); break; } diff --git a/ProtobufCore/out/CS/ProtobufNoSugar.cs b/ProtobufCore/out/CS/ProtobufNoSugar.cs index 4fa9bc6..44acd31 100644 --- a/ProtobufCore/out/CS/ProtobufNoSugar.cs +++ b/ProtobufCore/out/CS/ProtobufNoSugar.cs @@ -31,40 +31,47 @@ namespace AxibugProtobuf { "cmQYBCABKAkifwoTUHJvdG9idWZfTG9naW5fUkVTUBINCgVUb2tlbhgBIAEo", "CRIVCg1MYXN0TG9naW5EYXRlGAIgASgJEg8KB1JlZ0RhdGUYAyABKAkSMQoG", "U3RhdHVzGAQgASgOMiEuQXhpYnVnUHJvdG9idWYuTG9naW5SZXN1bHRTdGF0", - "dXMiIwoQUHJvdG9idWZfQ2hhdE1zZxIPCgdDaGF0TXNnGAEgASgJIkgKFVBy", - "b3RvYnVmX0NoYXRNc2dfUkVTUBIQCghOaWNrTmFtZRgBIAEoCRIPCgdDaGF0", - "TXNnGAIgASgJEgwKBERhdGUYAyABKAMiKAoUUHJvdG9idWZfQzJTX0Nvbm5l", - "Y3QSEAoIVHVubmVsSUQYASABKAUiKAoUUHJvdG9idWZfUzJDX0Nvbm5lY3QS", - "EAoIVHVubmVsSUQYASABKAUiKwoXUHJvdG9idWZfQzJTX0Rpc2Nvbm5lY3QS", - "EAoIVHVubmVsSUQYASABKAUiKwoXUHJvdG9idWZfUzJDX0Rpc2Nvbm5lY3QS", - "EAoIVHVubmVsSUQYASABKAUiQQoRUHJvdG9idWZfQzJTX0RBVEESEAoIVHVu", - "bmVsSUQYASABKAUSGgoSSHVudGVyTmV0Q29yZV9EYXRhGAIgASgMIkEKEVBy", - "b3RvYnVmX1MyQ19EQVRBEhAKCFR1bm5lbElEGAEgASgFEhoKEkh1bnRlck5l", - "dENvcmVfRGF0YRgCIAEoDCrrAQoJQ29tbWFuZElEEg4KCkNNRF9ERUZBVUwQ", - "ABIOCglDTURfTE9HSU4Q0Q8SEAoLQ01EX0NIQVRNU0cQoR8SGwoWQ01EX1RV", - "Tk5FTF9DMlNfQ09OTkVDVBCIJxIbChZDTURfVFVOTkVMX1MyQ19DT05ORUNU", - "EIknEh4KGUNNRF9UVU5ORUxfQzJTX0RJU0NPTk5FQ1QQiicSHgoZQ01EX1RV", - "Tk5FTF9TMkNfRElTQ09OTkVDVBCLJxIYChNDTURfVFVOTkVMX0MyU19EQVRB", - "EIwnEhgKE0NNRF9UVU5ORUxfUzJDX0RBVEEQjScqKwoJRXJyb3JDb2RlEhAK", - "DEVSUk9SX0RFRkFVTBAAEgwKCEVSUk9SX09LEAEqPgoJTG9naW5UeXBlEg8K", - "C0Jhc2VEZWZhdWx0EAASDgoKSGFvWXVlQXV0aBABEgcKA0JGMxADEgcKA0JG", - "NBAEKksKCkRldmljZVR5cGUSFgoSRGV2aWNlVHlwZV9EZWZhdWx0EAASBgoC", - "UEMQARILCgdBbmRyb2lkEAISBwoDSU9TEAMSBwoDUFNWEAQqTgoRTG9naW5S", - "ZXN1bHRTdGF0dXMSIQodTG9naW5SZXN1bHRTdGF0dXNfQmFzZURlZmF1bHQQ", - "ABIGCgJPSxABEg4KCkFjY291bnRFcnIQAkICSAFiBnByb3RvMw==")); + "dXMiQwoNUHJvdG9idWZfQ2ZncxIyCgRjZmdzGAEgAygLMiQuQXhpYnVnUHJv", + "dG9idWYuUHJvdG9idWZfQ2Znc19TaW5nbGUiQgoUUHJvdG9idWZfQ2Znc19T", + "aW5nbGUSEAoIVHVubmVsSUQYASABKA0SCgoCSVAYAiABKAkSDAoEUG9ydBgD", + "IAEoBSIjChBQcm90b2J1Zl9DaGF0TXNnEg8KB0NoYXRNc2cYASABKAkiSAoV", + "UHJvdG9idWZfQ2hhdE1zZ19SRVNQEhAKCE5pY2tOYW1lGAEgASgJEg8KB0No", + "YXRNc2cYAiABKAkSDAoERGF0ZRgDIAEoAyI1ChRQcm90b2J1Zl9DMlNfQ29u", + "bmVjdBIQCghUdW5uZWxJRBgBIAEoDRILCgNJZHgYAiABKA0iNQoUUHJvdG9i", + "dWZfUzJDX0Nvbm5lY3QSEAoIVHVubmVsSUQYASABKA0SCwoDSWR4GAIgASgN", + "IjgKF1Byb3RvYnVmX0MyU19EaXNjb25uZWN0EhAKCFR1bm5lbElEGAEgASgN", + "EgsKA0lkeBgCIAEoDSI4ChdQcm90b2J1Zl9TMkNfRGlzY29ubmVjdBIQCghU", + "dW5uZWxJRBgBIAEoDRILCgNJZHgYAiABKA0iTgoRUHJvdG9idWZfQzJTX0RB", + "VEESEAoIVHVubmVsSUQYASABKA0SCwoDSWR4GAIgASgNEhoKEkh1bnRlck5l", + "dENvcmVfRGF0YRgDIAEoDCJOChFQcm90b2J1Zl9TMkNfREFUQRIQCghUdW5u", + "ZWxJRBgBIAEoDRILCgNJZHgYAiABKA0SGgoSSHVudGVyTmV0Q29yZV9EYXRh", + "GAMgASgMKvoBCglDb21tYW5kSUQSDgoKQ01EX0RFRkFVTBAAEg4KCUNNRF9M", + "T0dJThDRDxINCghDTURfQ0ZHUxC5FxIQCgtDTURfQ0hBVE1TRxChHxIbChZD", + "TURfVFVOTkVMX0MyU19DT05ORUNUEIgnEhsKFkNNRF9UVU5ORUxfUzJDX0NP", + "Tk5FQ1QQiScSHgoZQ01EX1RVTk5FTF9DMlNfRElTQ09OTkVDVBCKJxIeChlD", + "TURfVFVOTkVMX1MyQ19ESVNDT05ORUNUEIsnEhgKE0NNRF9UVU5ORUxfQzJT", + "X0RBVEEQjCcSGAoTQ01EX1RVTk5FTF9TMkNfREFUQRCNJyorCglFcnJvckNv", + "ZGUSEAoMRVJST1JfREVGQVVMEAASDAoIRVJST1JfT0sQASo+CglMb2dpblR5", + "cGUSDwoLQmFzZURlZmF1bHQQABIOCgpIYW9ZdWVBdXRoEAESBwoDQkYzEAMS", + "BwoDQkY0EAQqSwoKRGV2aWNlVHlwZRIWChJEZXZpY2VUeXBlX0RlZmF1bHQQ", + "ABIGCgJQQxABEgsKB0FuZHJvaWQQAhIHCgNJT1MQAxIHCgNQU1YQBCpOChFM", + "b2dpblJlc3VsdFN0YXR1cxIhCh1Mb2dpblJlc3VsdFN0YXR1c19CYXNlRGVm", + "YXVsdBAAEgYKAk9LEAESDgoKQWNjb3VudEVychACQgJIAWIGcHJvdG8z")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { }, new pbr::GeneratedClrTypeInfo(new[] {typeof(global::AxibugProtobuf.CommandID), typeof(global::AxibugProtobuf.ErrorCode), typeof(global::AxibugProtobuf.LoginType), typeof(global::AxibugProtobuf.DeviceType), typeof(global::AxibugProtobuf.LoginResultStatus), }, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Login), global::AxibugProtobuf.Protobuf_Login.Parser, new[]{ "LoginType", "DeviceType", "Account", "Password" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Login_RESP), global::AxibugProtobuf.Protobuf_Login_RESP.Parser, new[]{ "Token", "LastLoginDate", "RegDate", "Status" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Cfgs), global::AxibugProtobuf.Protobuf_Cfgs.Parser, new[]{ "Cfgs" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Cfgs_Single), global::AxibugProtobuf.Protobuf_Cfgs_Single.Parser, new[]{ "TunnelID", "IP", "Port" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_ChatMsg), global::AxibugProtobuf.Protobuf_ChatMsg.Parser, new[]{ "ChatMsg" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_ChatMsg_RESP), global::AxibugProtobuf.Protobuf_ChatMsg_RESP.Parser, new[]{ "NickName", "ChatMsg", "Date" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_C2S_Connect), global::AxibugProtobuf.Protobuf_C2S_Connect.Parser, new[]{ "TunnelID" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_S2C_Connect), global::AxibugProtobuf.Protobuf_S2C_Connect.Parser, new[]{ "TunnelID" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_C2S_Disconnect), global::AxibugProtobuf.Protobuf_C2S_Disconnect.Parser, new[]{ "TunnelID" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_S2C_Disconnect), global::AxibugProtobuf.Protobuf_S2C_Disconnect.Parser, new[]{ "TunnelID" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_C2S_DATA), global::AxibugProtobuf.Protobuf_C2S_DATA.Parser, new[]{ "TunnelID", "HunterNetCoreData" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_S2C_DATA), global::AxibugProtobuf.Protobuf_S2C_DATA.Parser, new[]{ "TunnelID", "HunterNetCoreData" }, null, null, null, null) + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_C2S_Connect), global::AxibugProtobuf.Protobuf_C2S_Connect.Parser, new[]{ "TunnelID", "Idx" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_S2C_Connect), global::AxibugProtobuf.Protobuf_S2C_Connect.Parser, new[]{ "TunnelID", "Idx" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_C2S_Disconnect), global::AxibugProtobuf.Protobuf_C2S_Disconnect.Parser, new[]{ "TunnelID", "Idx" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_S2C_Disconnect), global::AxibugProtobuf.Protobuf_S2C_Disconnect.Parser, new[]{ "TunnelID", "Idx" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_C2S_DATA), global::AxibugProtobuf.Protobuf_C2S_DATA.Parser, new[]{ "TunnelID", "Idx", "HunterNetCoreData" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_S2C_DATA), global::AxibugProtobuf.Protobuf_S2C_DATA.Parser, new[]{ "TunnelID", "Idx", "HunterNetCoreData" }, null, null, null, null) })); } #endregion @@ -77,11 +84,15 @@ namespace AxibugProtobuf { /// [pbr::OriginalName("CMD_DEFAUL")] CmdDefaul = 0, /// - ///登录上行 | 下行 对应 Protobuf_Login | Protobuf_Login_RESP + ///自动登录上行 | 下行 对应 Protobuf_Login | Protobuf_Login_RESP /// [pbr::OriginalName("CMD_LOGIN")] CmdLogin = 2001, /// - ///登录上行 | 下行 对应 Protobuf_ChatMsg | Protobuf_ChatMsg_RESP + ///配置信息 下行 对应 Protobuf_Cfgs + /// + [pbr::OriginalName("CMD_CFGS")] CmdCfgs = 3001, + /// + ///广播信息上行 | 下行 对应 Protobuf_ChatMsg | Protobuf_ChatMsg_RESP /// [pbr::OriginalName("CMD_CHATMSG")] CmdChatmsg = 4001, /// @@ -744,6 +755,426 @@ namespace AxibugProtobuf { } + /// + ///配置下行 + /// + public sealed partial class Protobuf_Cfgs : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Protobuf_Cfgs()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pbr::MessageDescriptor Descriptor { + get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[2]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_Cfgs() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_Cfgs(Protobuf_Cfgs other) : this() { + cfgs_ = other.cfgs_.Clone(); + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_Cfgs Clone() { + return new Protobuf_Cfgs(this); + } + + /// Field number for the "cfgs" field. + public const int CfgsFieldNumber = 1; + private static readonly pb::FieldCodec _repeated_cfgs_codec + = pb::FieldCodec.ForMessage(10, global::AxibugProtobuf.Protobuf_Cfgs_Single.Parser); + private readonly pbc::RepeatedField cfgs_ = new pbc::RepeatedField(); + /// + ///配置 + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public pbc::RepeatedField Cfgs { + get { return cfgs_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override bool Equals(object other) { + return Equals(other as Protobuf_Cfgs); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public bool Equals(Protobuf_Cfgs other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if(!cfgs_.Equals(other.cfgs_)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override int GetHashCode() { + int hash = 1; + hash ^= cfgs_.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + cfgs_.WriteTo(output, _repeated_cfgs_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + cfgs_.WriteTo(ref output, _repeated_cfgs_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public int CalculateSize() { + int size = 0; + size += cfgs_.CalculateSize(_repeated_cfgs_codec); + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(Protobuf_Cfgs other) { + if (other == null) { + return; + } + cfgs_.Add(other.cfgs_); + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + cfgs_.AddEntriesFrom(input, _repeated_cfgs_codec); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + cfgs_.AddEntriesFrom(ref input, _repeated_cfgs_codec); + break; + } + } + } + } + #endif + + } + + public sealed partial class Protobuf_Cfgs_Single : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Protobuf_Cfgs_Single()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pbr::MessageDescriptor Descriptor { + get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[3]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_Cfgs_Single() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_Cfgs_Single(Protobuf_Cfgs_Single other) : this() { + tunnelID_ = other.tunnelID_; + iP_ = other.iP_; + port_ = other.port_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_Cfgs_Single Clone() { + return new Protobuf_Cfgs_Single(this); + } + + /// Field number for the "TunnelID" field. + public const int TunnelIDFieldNumber = 1; + private uint tunnelID_; + /// + ///TunnelID + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public uint TunnelID { + get { return tunnelID_; } + set { + tunnelID_ = value; + } + } + + /// Field number for the "IP" field. + public const int IPFieldNumber = 2; + private string iP_ = ""; + /// + ///IP + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public string IP { + get { return iP_; } + set { + iP_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + + /// Field number for the "Port" field. + public const int PortFieldNumber = 3; + private int port_; + /// + ///端口 + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public int Port { + get { return port_; } + set { + port_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override bool Equals(object other) { + return Equals(other as Protobuf_Cfgs_Single); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public bool Equals(Protobuf_Cfgs_Single other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (TunnelID != other.TunnelID) return false; + if (IP != other.IP) return false; + if (Port != other.Port) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override int GetHashCode() { + int hash = 1; + if (TunnelID != 0) hash ^= TunnelID.GetHashCode(); + if (IP.Length != 0) hash ^= IP.GetHashCode(); + if (Port != 0) hash ^= Port.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (TunnelID != 0) { + output.WriteRawTag(8); + output.WriteUInt32(TunnelID); + } + if (IP.Length != 0) { + output.WriteRawTag(18); + output.WriteString(IP); + } + if (Port != 0) { + output.WriteRawTag(24); + output.WriteInt32(Port); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (TunnelID != 0) { + output.WriteRawTag(8); + output.WriteUInt32(TunnelID); + } + if (IP.Length != 0) { + output.WriteRawTag(18); + output.WriteString(IP); + } + if (Port != 0) { + output.WriteRawTag(24); + output.WriteInt32(Port); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public int CalculateSize() { + int size = 0; + if (TunnelID != 0) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(TunnelID); + } + if (IP.Length != 0) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(IP); + } + if (Port != 0) { + size += 1 + pb::CodedOutputStream.ComputeInt32Size(Port); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(Protobuf_Cfgs_Single other) { + if (other == null) { + return; + } + if (other.TunnelID != 0) { + TunnelID = other.TunnelID; + } + if (other.IP.Length != 0) { + IP = other.IP; + } + if (other.Port != 0) { + Port = other.Port; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + TunnelID = input.ReadUInt32(); + break; + } + case 18: { + IP = input.ReadString(); + break; + } + case 24: { + Port = input.ReadInt32(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + TunnelID = input.ReadUInt32(); + break; + } + case 18: { + IP = input.ReadString(); + break; + } + case 24: { + Port = input.ReadInt32(); + break; + } + } + } + } + #endif + + } + /// ///聊天 上行 /// @@ -759,7 +1190,7 @@ namespace AxibugProtobuf { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public static pbr::MessageDescriptor Descriptor { - get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[2]; } + get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[4]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -937,7 +1368,7 @@ namespace AxibugProtobuf { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public static pbr::MessageDescriptor Descriptor { - get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[3]; } + get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[5]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -997,7 +1428,7 @@ namespace AxibugProtobuf { public const int DateFieldNumber = 3; private long date_; /// - ///消息 + ///时间 /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public long Date { @@ -1190,7 +1621,7 @@ namespace AxibugProtobuf { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public static pbr::MessageDescriptor Descriptor { - get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[4]; } + get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[6]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -1208,6 +1639,7 @@ namespace AxibugProtobuf { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public Protobuf_C2S_Connect(Protobuf_C2S_Connect other) : this() { tunnelID_ = other.tunnelID_; + idx_ = other.idx_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -1218,18 +1650,32 @@ namespace AxibugProtobuf { /// Field number for the "TunnelID" field. public const int TunnelIDFieldNumber = 1; - private int tunnelID_; + private uint tunnelID_; /// ///TunnelID /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - public int TunnelID { + public uint TunnelID { get { return tunnelID_; } set { tunnelID_ = value; } } + /// Field number for the "Idx" field. + public const int IdxFieldNumber = 2; + private uint idx_; + /// + ///单个隧道连接下标 + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public uint Idx { + get { return idx_; } + set { + idx_ = value; + } + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public override bool Equals(object other) { return Equals(other as Protobuf_C2S_Connect); @@ -1244,6 +1690,7 @@ namespace AxibugProtobuf { return true; } if (TunnelID != other.TunnelID) return false; + if (Idx != other.Idx) return false; return Equals(_unknownFields, other._unknownFields); } @@ -1251,6 +1698,7 @@ namespace AxibugProtobuf { public override int GetHashCode() { int hash = 1; if (TunnelID != 0) hash ^= TunnelID.GetHashCode(); + if (Idx != 0) hash ^= Idx.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -1269,7 +1717,11 @@ namespace AxibugProtobuf { #else if (TunnelID != 0) { output.WriteRawTag(8); - output.WriteInt32(TunnelID); + output.WriteUInt32(TunnelID); + } + if (Idx != 0) { + output.WriteRawTag(16); + output.WriteUInt32(Idx); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -1282,7 +1734,11 @@ namespace AxibugProtobuf { void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { if (TunnelID != 0) { output.WriteRawTag(8); - output.WriteInt32(TunnelID); + output.WriteUInt32(TunnelID); + } + if (Idx != 0) { + output.WriteRawTag(16); + output.WriteUInt32(Idx); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -1294,7 +1750,10 @@ namespace AxibugProtobuf { public int CalculateSize() { int size = 0; if (TunnelID != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(TunnelID); + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(TunnelID); + } + if (Idx != 0) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Idx); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -1310,6 +1769,9 @@ namespace AxibugProtobuf { if (other.TunnelID != 0) { TunnelID = other.TunnelID; } + if (other.Idx != 0) { + Idx = other.Idx; + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -1325,7 +1787,11 @@ namespace AxibugProtobuf { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 8: { - TunnelID = input.ReadInt32(); + TunnelID = input.ReadUInt32(); + break; + } + case 16: { + Idx = input.ReadUInt32(); break; } } @@ -1343,7 +1809,11 @@ namespace AxibugProtobuf { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 8: { - TunnelID = input.ReadInt32(); + TunnelID = input.ReadUInt32(); + break; + } + case 16: { + Idx = input.ReadUInt32(); break; } } @@ -1365,7 +1835,7 @@ namespace AxibugProtobuf { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public static pbr::MessageDescriptor Descriptor { - get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[5]; } + get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[7]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -1383,6 +1853,7 @@ namespace AxibugProtobuf { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public Protobuf_S2C_Connect(Protobuf_S2C_Connect other) : this() { tunnelID_ = other.tunnelID_; + idx_ = other.idx_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -1393,18 +1864,32 @@ namespace AxibugProtobuf { /// Field number for the "TunnelID" field. public const int TunnelIDFieldNumber = 1; - private int tunnelID_; + private uint tunnelID_; /// ///TunnelID /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - public int TunnelID { + public uint TunnelID { get { return tunnelID_; } set { tunnelID_ = value; } } + /// Field number for the "Idx" field. + public const int IdxFieldNumber = 2; + private uint idx_; + /// + ///单个隧道连接下标 + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public uint Idx { + get { return idx_; } + set { + idx_ = value; + } + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public override bool Equals(object other) { return Equals(other as Protobuf_S2C_Connect); @@ -1419,6 +1904,7 @@ namespace AxibugProtobuf { return true; } if (TunnelID != other.TunnelID) return false; + if (Idx != other.Idx) return false; return Equals(_unknownFields, other._unknownFields); } @@ -1426,6 +1912,7 @@ namespace AxibugProtobuf { public override int GetHashCode() { int hash = 1; if (TunnelID != 0) hash ^= TunnelID.GetHashCode(); + if (Idx != 0) hash ^= Idx.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -1444,7 +1931,11 @@ namespace AxibugProtobuf { #else if (TunnelID != 0) { output.WriteRawTag(8); - output.WriteInt32(TunnelID); + output.WriteUInt32(TunnelID); + } + if (Idx != 0) { + output.WriteRawTag(16); + output.WriteUInt32(Idx); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -1457,7 +1948,11 @@ namespace AxibugProtobuf { void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { if (TunnelID != 0) { output.WriteRawTag(8); - output.WriteInt32(TunnelID); + output.WriteUInt32(TunnelID); + } + if (Idx != 0) { + output.WriteRawTag(16); + output.WriteUInt32(Idx); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -1469,7 +1964,10 @@ namespace AxibugProtobuf { public int CalculateSize() { int size = 0; if (TunnelID != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(TunnelID); + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(TunnelID); + } + if (Idx != 0) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Idx); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -1485,6 +1983,9 @@ namespace AxibugProtobuf { if (other.TunnelID != 0) { TunnelID = other.TunnelID; } + if (other.Idx != 0) { + Idx = other.Idx; + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -1500,7 +2001,11 @@ namespace AxibugProtobuf { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 8: { - TunnelID = input.ReadInt32(); + TunnelID = input.ReadUInt32(); + break; + } + case 16: { + Idx = input.ReadUInt32(); break; } } @@ -1518,7 +2023,11 @@ namespace AxibugProtobuf { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 8: { - TunnelID = input.ReadInt32(); + TunnelID = input.ReadUInt32(); + break; + } + case 16: { + Idx = input.ReadUInt32(); break; } } @@ -1540,7 +2049,7 @@ namespace AxibugProtobuf { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public static pbr::MessageDescriptor Descriptor { - get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[6]; } + get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[8]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -1558,6 +2067,7 @@ namespace AxibugProtobuf { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public Protobuf_C2S_Disconnect(Protobuf_C2S_Disconnect other) : this() { tunnelID_ = other.tunnelID_; + idx_ = other.idx_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -1568,18 +2078,32 @@ namespace AxibugProtobuf { /// Field number for the "TunnelID" field. public const int TunnelIDFieldNumber = 1; - private int tunnelID_; + private uint tunnelID_; /// ///TunnelID /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - public int TunnelID { + public uint TunnelID { get { return tunnelID_; } set { tunnelID_ = value; } } + /// Field number for the "Idx" field. + public const int IdxFieldNumber = 2; + private uint idx_; + /// + ///单个隧道连接下标 + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public uint Idx { + get { return idx_; } + set { + idx_ = value; + } + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public override bool Equals(object other) { return Equals(other as Protobuf_C2S_Disconnect); @@ -1594,6 +2118,7 @@ namespace AxibugProtobuf { return true; } if (TunnelID != other.TunnelID) return false; + if (Idx != other.Idx) return false; return Equals(_unknownFields, other._unknownFields); } @@ -1601,6 +2126,7 @@ namespace AxibugProtobuf { public override int GetHashCode() { int hash = 1; if (TunnelID != 0) hash ^= TunnelID.GetHashCode(); + if (Idx != 0) hash ^= Idx.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -1619,7 +2145,11 @@ namespace AxibugProtobuf { #else if (TunnelID != 0) { output.WriteRawTag(8); - output.WriteInt32(TunnelID); + output.WriteUInt32(TunnelID); + } + if (Idx != 0) { + output.WriteRawTag(16); + output.WriteUInt32(Idx); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -1632,7 +2162,11 @@ namespace AxibugProtobuf { void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { if (TunnelID != 0) { output.WriteRawTag(8); - output.WriteInt32(TunnelID); + output.WriteUInt32(TunnelID); + } + if (Idx != 0) { + output.WriteRawTag(16); + output.WriteUInt32(Idx); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -1644,7 +2178,10 @@ namespace AxibugProtobuf { public int CalculateSize() { int size = 0; if (TunnelID != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(TunnelID); + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(TunnelID); + } + if (Idx != 0) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Idx); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -1660,6 +2197,9 @@ namespace AxibugProtobuf { if (other.TunnelID != 0) { TunnelID = other.TunnelID; } + if (other.Idx != 0) { + Idx = other.Idx; + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -1675,7 +2215,11 @@ namespace AxibugProtobuf { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 8: { - TunnelID = input.ReadInt32(); + TunnelID = input.ReadUInt32(); + break; + } + case 16: { + Idx = input.ReadUInt32(); break; } } @@ -1693,7 +2237,11 @@ namespace AxibugProtobuf { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 8: { - TunnelID = input.ReadInt32(); + TunnelID = input.ReadUInt32(); + break; + } + case 16: { + Idx = input.ReadUInt32(); break; } } @@ -1715,7 +2263,7 @@ namespace AxibugProtobuf { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public static pbr::MessageDescriptor Descriptor { - get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[7]; } + get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[9]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -1733,6 +2281,7 @@ namespace AxibugProtobuf { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public Protobuf_S2C_Disconnect(Protobuf_S2C_Disconnect other) : this() { tunnelID_ = other.tunnelID_; + idx_ = other.idx_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -1743,18 +2292,32 @@ namespace AxibugProtobuf { /// Field number for the "TunnelID" field. public const int TunnelIDFieldNumber = 1; - private int tunnelID_; + private uint tunnelID_; /// ///TunnelID /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - public int TunnelID { + public uint TunnelID { get { return tunnelID_; } set { tunnelID_ = value; } } + /// Field number for the "Idx" field. + public const int IdxFieldNumber = 2; + private uint idx_; + /// + ///单个隧道连接下标 + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public uint Idx { + get { return idx_; } + set { + idx_ = value; + } + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public override bool Equals(object other) { return Equals(other as Protobuf_S2C_Disconnect); @@ -1769,6 +2332,7 @@ namespace AxibugProtobuf { return true; } if (TunnelID != other.TunnelID) return false; + if (Idx != other.Idx) return false; return Equals(_unknownFields, other._unknownFields); } @@ -1776,6 +2340,7 @@ namespace AxibugProtobuf { public override int GetHashCode() { int hash = 1; if (TunnelID != 0) hash ^= TunnelID.GetHashCode(); + if (Idx != 0) hash ^= Idx.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -1794,7 +2359,11 @@ namespace AxibugProtobuf { #else if (TunnelID != 0) { output.WriteRawTag(8); - output.WriteInt32(TunnelID); + output.WriteUInt32(TunnelID); + } + if (Idx != 0) { + output.WriteRawTag(16); + output.WriteUInt32(Idx); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -1807,7 +2376,11 @@ namespace AxibugProtobuf { void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { if (TunnelID != 0) { output.WriteRawTag(8); - output.WriteInt32(TunnelID); + output.WriteUInt32(TunnelID); + } + if (Idx != 0) { + output.WriteRawTag(16); + output.WriteUInt32(Idx); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -1819,7 +2392,10 @@ namespace AxibugProtobuf { public int CalculateSize() { int size = 0; if (TunnelID != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(TunnelID); + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(TunnelID); + } + if (Idx != 0) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Idx); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -1835,6 +2411,9 @@ namespace AxibugProtobuf { if (other.TunnelID != 0) { TunnelID = other.TunnelID; } + if (other.Idx != 0) { + Idx = other.Idx; + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -1850,7 +2429,11 @@ namespace AxibugProtobuf { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 8: { - TunnelID = input.ReadInt32(); + TunnelID = input.ReadUInt32(); + break; + } + case 16: { + Idx = input.ReadUInt32(); break; } } @@ -1868,7 +2451,11 @@ namespace AxibugProtobuf { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 8: { - TunnelID = input.ReadInt32(); + TunnelID = input.ReadUInt32(); + break; + } + case 16: { + Idx = input.ReadUInt32(); break; } } @@ -1890,7 +2477,7 @@ namespace AxibugProtobuf { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public static pbr::MessageDescriptor Descriptor { - get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[8]; } + get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[10]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -1908,6 +2495,7 @@ namespace AxibugProtobuf { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public Protobuf_C2S_DATA(Protobuf_C2S_DATA other) : this() { tunnelID_ = other.tunnelID_; + idx_ = other.idx_; hunterNetCoreData_ = other.hunterNetCoreData_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -1919,20 +2507,34 @@ namespace AxibugProtobuf { /// Field number for the "TunnelID" field. public const int TunnelIDFieldNumber = 1; - private int tunnelID_; + private uint tunnelID_; /// ///TunnelID /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - public int TunnelID { + public uint TunnelID { get { return tunnelID_; } set { tunnelID_ = value; } } + /// Field number for the "Idx" field. + public const int IdxFieldNumber = 2; + private uint idx_; + /// + ///单个隧道连接下标 + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public uint Idx { + get { return idx_; } + set { + idx_ = value; + } + } + /// Field number for the "HunterNetCore_Data" field. - public const int HunterNetCoreDataFieldNumber = 2; + public const int HunterNetCoreDataFieldNumber = 3; private pb::ByteString hunterNetCoreData_ = pb::ByteString.Empty; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public pb::ByteString HunterNetCoreData { @@ -1956,6 +2558,7 @@ namespace AxibugProtobuf { return true; } if (TunnelID != other.TunnelID) return false; + if (Idx != other.Idx) return false; if (HunterNetCoreData != other.HunterNetCoreData) return false; return Equals(_unknownFields, other._unknownFields); } @@ -1964,6 +2567,7 @@ namespace AxibugProtobuf { public override int GetHashCode() { int hash = 1; if (TunnelID != 0) hash ^= TunnelID.GetHashCode(); + if (Idx != 0) hash ^= Idx.GetHashCode(); if (HunterNetCoreData.Length != 0) hash ^= HunterNetCoreData.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); @@ -1983,10 +2587,14 @@ namespace AxibugProtobuf { #else if (TunnelID != 0) { output.WriteRawTag(8); - output.WriteInt32(TunnelID); + output.WriteUInt32(TunnelID); + } + if (Idx != 0) { + output.WriteRawTag(16); + output.WriteUInt32(Idx); } if (HunterNetCoreData.Length != 0) { - output.WriteRawTag(18); + output.WriteRawTag(26); output.WriteBytes(HunterNetCoreData); } if (_unknownFields != null) { @@ -2000,10 +2608,14 @@ namespace AxibugProtobuf { void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { if (TunnelID != 0) { output.WriteRawTag(8); - output.WriteInt32(TunnelID); + output.WriteUInt32(TunnelID); + } + if (Idx != 0) { + output.WriteRawTag(16); + output.WriteUInt32(Idx); } if (HunterNetCoreData.Length != 0) { - output.WriteRawTag(18); + output.WriteRawTag(26); output.WriteBytes(HunterNetCoreData); } if (_unknownFields != null) { @@ -2016,7 +2628,10 @@ namespace AxibugProtobuf { public int CalculateSize() { int size = 0; if (TunnelID != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(TunnelID); + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(TunnelID); + } + if (Idx != 0) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Idx); } if (HunterNetCoreData.Length != 0) { size += 1 + pb::CodedOutputStream.ComputeBytesSize(HunterNetCoreData); @@ -2035,6 +2650,9 @@ namespace AxibugProtobuf { if (other.TunnelID != 0) { TunnelID = other.TunnelID; } + if (other.Idx != 0) { + Idx = other.Idx; + } if (other.HunterNetCoreData.Length != 0) { HunterNetCoreData = other.HunterNetCoreData; } @@ -2053,10 +2671,14 @@ namespace AxibugProtobuf { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 8: { - TunnelID = input.ReadInt32(); + TunnelID = input.ReadUInt32(); break; } - case 18: { + case 16: { + Idx = input.ReadUInt32(); + break; + } + case 26: { HunterNetCoreData = input.ReadBytes(); break; } @@ -2075,10 +2697,14 @@ namespace AxibugProtobuf { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 8: { - TunnelID = input.ReadInt32(); + TunnelID = input.ReadUInt32(); break; } - case 18: { + case 16: { + Idx = input.ReadUInt32(); + break; + } + case 26: { HunterNetCoreData = input.ReadBytes(); break; } @@ -2101,7 +2727,7 @@ namespace AxibugProtobuf { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public static pbr::MessageDescriptor Descriptor { - get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[9]; } + get { return global::AxibugProtobuf.ProtobufNoSugarReflection.Descriptor.MessageTypes[11]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -2119,6 +2745,7 @@ namespace AxibugProtobuf { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public Protobuf_S2C_DATA(Protobuf_S2C_DATA other) : this() { tunnelID_ = other.tunnelID_; + idx_ = other.idx_; hunterNetCoreData_ = other.hunterNetCoreData_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -2130,20 +2757,34 @@ namespace AxibugProtobuf { /// Field number for the "TunnelID" field. public const int TunnelIDFieldNumber = 1; - private int tunnelID_; + private uint tunnelID_; /// ///TunnelID /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - public int TunnelID { + public uint TunnelID { get { return tunnelID_; } set { tunnelID_ = value; } } + /// Field number for the "Idx" field. + public const int IdxFieldNumber = 2; + private uint idx_; + /// + ///单个隧道连接下标 + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public uint Idx { + get { return idx_; } + set { + idx_ = value; + } + } + /// Field number for the "HunterNetCore_Data" field. - public const int HunterNetCoreDataFieldNumber = 2; + public const int HunterNetCoreDataFieldNumber = 3; private pb::ByteString hunterNetCoreData_ = pb::ByteString.Empty; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public pb::ByteString HunterNetCoreData { @@ -2167,6 +2808,7 @@ namespace AxibugProtobuf { return true; } if (TunnelID != other.TunnelID) return false; + if (Idx != other.Idx) return false; if (HunterNetCoreData != other.HunterNetCoreData) return false; return Equals(_unknownFields, other._unknownFields); } @@ -2175,6 +2817,7 @@ namespace AxibugProtobuf { public override int GetHashCode() { int hash = 1; if (TunnelID != 0) hash ^= TunnelID.GetHashCode(); + if (Idx != 0) hash ^= Idx.GetHashCode(); if (HunterNetCoreData.Length != 0) hash ^= HunterNetCoreData.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); @@ -2194,10 +2837,14 @@ namespace AxibugProtobuf { #else if (TunnelID != 0) { output.WriteRawTag(8); - output.WriteInt32(TunnelID); + output.WriteUInt32(TunnelID); + } + if (Idx != 0) { + output.WriteRawTag(16); + output.WriteUInt32(Idx); } if (HunterNetCoreData.Length != 0) { - output.WriteRawTag(18); + output.WriteRawTag(26); output.WriteBytes(HunterNetCoreData); } if (_unknownFields != null) { @@ -2211,10 +2858,14 @@ namespace AxibugProtobuf { void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { if (TunnelID != 0) { output.WriteRawTag(8); - output.WriteInt32(TunnelID); + output.WriteUInt32(TunnelID); + } + if (Idx != 0) { + output.WriteRawTag(16); + output.WriteUInt32(Idx); } if (HunterNetCoreData.Length != 0) { - output.WriteRawTag(18); + output.WriteRawTag(26); output.WriteBytes(HunterNetCoreData); } if (_unknownFields != null) { @@ -2227,7 +2878,10 @@ namespace AxibugProtobuf { public int CalculateSize() { int size = 0; if (TunnelID != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(TunnelID); + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(TunnelID); + } + if (Idx != 0) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Idx); } if (HunterNetCoreData.Length != 0) { size += 1 + pb::CodedOutputStream.ComputeBytesSize(HunterNetCoreData); @@ -2246,6 +2900,9 @@ namespace AxibugProtobuf { if (other.TunnelID != 0) { TunnelID = other.TunnelID; } + if (other.Idx != 0) { + Idx = other.Idx; + } if (other.HunterNetCoreData.Length != 0) { HunterNetCoreData = other.HunterNetCoreData; } @@ -2264,10 +2921,14 @@ namespace AxibugProtobuf { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 8: { - TunnelID = input.ReadInt32(); + TunnelID = input.ReadUInt32(); break; } - case 18: { + case 16: { + Idx = input.ReadUInt32(); + break; + } + case 26: { HunterNetCoreData = input.ReadBytes(); break; } @@ -2286,10 +2947,14 @@ namespace AxibugProtobuf { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 8: { - TunnelID = input.ReadInt32(); + TunnelID = input.ReadUInt32(); break; } - case 18: { + case 16: { + Idx = input.ReadUInt32(); + break; + } + case 26: { HunterNetCoreData = input.ReadBytes(); break; } diff --git a/ProtobufCore/proto/protobuf_NoSugar.proto b/ProtobufCore/proto/protobuf_NoSugar.proto index 40a1796..cdc651d 100644 --- a/ProtobufCore/proto/protobuf_NoSugar.proto +++ b/ProtobufCore/proto/protobuf_NoSugar.proto @@ -6,8 +6,11 @@ enum CommandID { CMD_DEFAUL = 0;//缺省不使用 + CMD_LOGIN = 2001; //自动登录上行 | 下行 对应 Protobuf_Login | Protobuf_Login_RESP + CMD_CFGS = 3001; //配置信息 下行 对应 Protobuf_Cfgs + CMD_CHATMSG = 4001; //广播信息上行 | 下行 对应 Protobuf_ChatMsg | Protobuf_ChatMsg_RESP CMD_TUNNEL_C2S_CONNECT = 5000; //客户端告知服务端 客户端本地连接建立 上行 Protobuf_C2S_Connect @@ -66,6 +69,18 @@ message Protobuf_Login_RESP LoginResultStatus Status = 4;//账号状态 (预留) [1]正常[0]被禁封 } +//配置下行 +message Protobuf_Cfgs +{ + repeated Protobuf_Cfgs_Single cfgs = 1;//配置 +} + +message Protobuf_Cfgs_Single +{ + uint32 TunnelID = 1;//TunnelID + string IP = 2;//IP + int32 Port = 3;//端口 +} //聊天 上行 message Protobuf_ChatMsg @@ -78,38 +93,44 @@ message Protobuf_ChatMsg_RESP { string NickName = 1;//昵称 string ChatMsg = 2;//消息 - int64 Date = 3;//消息 + int64 Date = 3;//时间 } message Protobuf_C2S_Connect { - int32 TunnelID = 1;//TunnelID + uint32 TunnelID = 1;//TunnelID + uint32 Idx = 2;//单个隧道连接下标 } message Protobuf_S2C_Connect { - int32 TunnelID = 1;//TunnelID + uint32 TunnelID = 1;//TunnelID + uint32 Idx = 2;//单个隧道连接下标 } message Protobuf_C2S_Disconnect { - int32 TunnelID = 1;//TunnelID + uint32 TunnelID = 1;//TunnelID + uint32 Idx = 2;//单个隧道连接下标 } message Protobuf_S2C_Disconnect { - int32 TunnelID = 1;//TunnelID + uint32 TunnelID = 1;//TunnelID + uint32 Idx = 2;//单个隧道连接下标 } message Protobuf_C2S_DATA { - int32 TunnelID = 1;//TunnelID - bytes HunterNetCore_Data = 2; + uint32 TunnelID = 1;//TunnelID + uint32 Idx = 2;//单个隧道连接下标 + bytes HunterNetCore_Data = 3; } message Protobuf_S2C_DATA { - int32 TunnelID = 1;//TunnelID - bytes HunterNetCore_Data = 2; + uint32 TunnelID = 1;//TunnelID + uint32 Idx = 2;//单个隧道连接下标 + bytes HunterNetCore_Data = 3; } \ No newline at end of file