本文整理汇总了C#中Lextm.SharpSnmpLib.Security.UserRegistry.Add方法的典型用法代码示例。如果您正苦于以下问题:C# UserRegistry.Add方法的具体用法?C# UserRegistry.Add怎么用?C# UserRegistry.Add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Lextm.SharpSnmpLib.Security.UserRegistry
的用法示例。
在下文中一共展示了UserRegistry.Add方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TestConstructor
public void TestConstructor()
{
var response = new ResponseMessage(
VersionCode.V3,
new Header(
new Integer32(500),
new Integer32(4000),
Levels.Reportable),
new SecurityParameters(
OctetString.Empty,
Integer32.Zero,
Integer32.Zero,
new OctetString("lextm"),
OctetString.Empty,
OctetString.Empty),
new Scope(
OctetString.Empty,
OctetString.Empty,
new ResponsePdu(0x2C6B, ErrorCode.NoError, 0, new List<Variable>{ new Variable(new ObjectIdentifier("1.3.6.1.1.2.5.0"), new Integer32(400))})),
DefaultPrivacyProvider.DefaultPair,
true,
null);
var registry = new UserRegistry();
registry.Add(new OctetString("lextm"), DefaultPrivacyProvider.DefaultPair);
var messages = MessageFactory.ParseMessages(response.ToBytes(), registry);
Assert.AreEqual(1, messages.Count);
}
示例2: Main
public static void Main(string[] args)
{
if (args.Length != 0)
{
return;
}
var users = new UserRegistry();
users.Add(new OctetString("neither"), DefaultPrivacyProvider.DefaultPair);
users.Add(new OctetString("authen"), new DefaultPrivacyProvider(new MD5AuthenticationProvider(new OctetString("authentication"))));
users.Add(new OctetString("privacy"), new DESPrivacyProvider(new OctetString("privacyphrase"),
new MD5AuthenticationProvider(new OctetString("authentication"))));
var trapv1 = new TrapV1MessageHandler();
trapv1.MessageReceived += WatcherTrapV1Received;
var trapv1Mapping = new HandlerMapping("v1", "TRAPV1", trapv1);
var trapv2 = new TrapV2MessageHandler();
trapv2.MessageReceived += WatcherTrapV2Received;
var trapv2Mapping = new HandlerMapping("v2,v3", "TRAPV2", trapv2);
var inform = new InformRequestMessageHandler();
inform.MessageReceived += WatcherInformRequestReceived;
var informMapping = new HandlerMapping("v2,v3", "INFORM", inform);
var store = new ObjectStore();
var v1 = new Version1MembershipProvider(new OctetString("public"), new OctetString("public"));
var v2 = new Version2MembershipProvider(new OctetString("public"), new OctetString("public"));
var v3 = new Version3MembershipProvider();
var membership = new ComposedMembershipProvider(new IMembershipProvider[] {v1, v2, v3});
var handlerFactory = new MessageHandlerFactory(new[] {trapv1Mapping, trapv2Mapping, informMapping});
var pipelineFactory = new SnmpApplicationFactory(store, membership, handlerFactory);
using (var engine = new SnmpEngine(pipelineFactory, new Listener { Users = users }, new EngineGroup()))
{
engine.Listener.AddBinding(new IPEndPoint(IPAddress.Any, 162));
engine.Start();
Console.WriteLine("#SNMP is available at http://sharpsnmplib.codeplex.com");
Console.WriteLine("Press any key to stop . . . ");
Console.Read();
engine.Stop();
}
}
示例3: TestReportFailure2
public void TestReportFailure2()
{
const string data = "30780201033010020462d4a37602020578040101020103042f302d040b800000090340f4ecf2b113020124020200a4040762696c6c696e67040c62bc133ef237922dfa8ca39a04003030040b800000090340f4ecf2b1130400a81f02049d2b5c8c0201000201003011300f060a2b060106030f01010200410105";
var bytes = ByteTool.Convert(data);
const string userName = "billing";
IAuthenticationProvider auth = new MD5AuthenticationProvider(new OctetString("testing345"));
IPrivacyProvider priv = new DefaultPrivacyProvider(auth);
var users = new UserRegistry();
users.Add(new User(new OctetString(userName), priv));
var messages = MessageFactory.ParseMessages(bytes, users);
Assert.AreEqual(1, messages.Count);
var message = messages[0];
Assert.AreEqual(1, message.Variables().Count);
Assert.AreEqual("not in time window", message.Variables()[0].Id.GetErrorMessage());
}
示例4: txtBytes_TextChanged
private void txtBytes_TextChanged(object sender, EventArgs e)
{
tvMessage.Nodes.Clear();
var users = new UserRegistry();
IAuthenticationProvider authen;
if (tscbAuthentication.SelectedIndex == 0)
{
authen = DefaultAuthenticationProvider.Instance;
}
else if (tscbAuthentication.SelectedIndex == 1)
{
authen = new MD5AuthenticationProvider(new OctetString(tstxtAuthentication.Text));
}
else
{
authen = new SHA1AuthenticationProvider(new OctetString(tstxtAuthentication.Text));
}
IPrivacyProvider privacy;
if (tscbPrivacy.SelectedIndex == 0)
{
privacy = new DefaultPrivacyProvider(authen);
}
else if (tscbPrivacy.SelectedIndex == 1)
{
privacy = new DESPrivacyProvider(new OctetString(tstxtPrivacy.Text), authen);
}
else
{
privacy = new AESPrivacyProvider(new OctetString(tstxtPrivacy.Text), authen);
}
users.Add(new User(new OctetString(tstxtUser.Text), privacy));
try
{
var messages = MessageFactory.ParseMessages(ByteTool.Convert(txtBytes.Text.Replace("\"", null).Replace("+", null)), users);
messages.Fill(tvMessage);
}
catch (Exception ex)
{
tvMessage.Nodes.Add(ex.Message);
}
}
示例5: TestToBytes3
public void TestToBytes3()
{
var privacy = new DESPrivacyProvider(new OctetString("privacyphrase"), new MD5AuthenticationProvider(new OctetString("authentication")));
var trap = new TrapV2Message(
VersionCode.V3,
new Header(
new Integer32(1004947569),
new Integer32(0x10000),
privacy.ToSecurityLevel()),
new SecurityParameters(
new OctetString(ByteTool.Convert("80001F8880E9630000D61FF449")),
Integer32.Zero,
Integer32.Zero,
new OctetString("lextm"),
new OctetString(ByteTool.Convert("61A9A486AF4A861BD5C0BB1F")),
new OctetString(ByteTool.Convert("0000000069D39B2A"))),
new Scope(OctetString.Empty, OctetString.Empty,
new TrapV2Pdu(
234419641,
new ObjectIdentifier("1.3.6"),
0,
new List<Variable>())),
privacy,
null);
byte[] bytes = trap.ToBytes();
UserRegistry registry = new UserRegistry();
registry.Add(new OctetString("lextm"), privacy);
IList<ISnmpMessage> messages = MessageFactory.ParseMessages(bytes, registry);
Assert.AreEqual(1, messages.Count);
ISnmpMessage message = messages[0];
Assert.AreEqual("80001F8880E9630000D61FF449", message.Parameters.EngineId.ToHexString());
Assert.AreEqual(0, message.Parameters.EngineBoots.ToInt32());
Assert.AreEqual(0, message.Parameters.EngineTime.ToInt32());
Assert.AreEqual("lextm", message.Parameters.UserName.ToString());
Assert.AreEqual("61A9A486AF4A861BD5C0BB1F", message.Parameters.AuthenticationParameters.ToHexString());
Assert.AreEqual("0000000069D39B2A", message.Parameters.PrivacyParameters.ToHexString());
Assert.AreEqual("", message.Scope.ContextEngineId.ToHexString()); // SNMP#NET returns string.Empty here.
Assert.AreEqual("", message.Scope.ContextName.ToHexString());
Assert.AreEqual(0, message.Scope.Pdu.Variables.Count);
Assert.AreEqual(1004947569, message.MessageId());
Assert.AreEqual(234419641, message.RequestId());
}
示例6: TestReportFailure
public void TestReportFailure()
{
const string data = "30 70 02 01 03 30"+
"11 02 04 76 EB 6A 22 02 03 00 FF F0 04 01 01 02 01 03 04 33 30 31 04 09"+
"80 00 05 23 01 C1 4D BB 83 02 01 5B 02 03 1C 93 9D 04 0C 4D 44 35 5F 44"+
"45 53 5F 55 73 65 72 04 0C E5 C7 C5 2E 17 7E 87 62 AB 56 D6 C7 04 00 30"+
"23 04 00 04 00 A8 1D 02 01 00 02 01 00 02 01 00 30 12 30 10 06 0A 2B 06"+
"01 06 03 0F 01 01 02 00 41 02 05 EE";
var bytes = ByteTool.Convert(data);
const string userName = "MD5_DES_User";
const string phrase = "AuthPassword";
const string privatePhrase = "PrivPassword";
IAuthenticationProvider auth = new MD5AuthenticationProvider(new OctetString(phrase));
IPrivacyProvider priv = new DESPrivacyProvider(new OctetString(privatePhrase), auth);
var users = new UserRegistry();
users.Add(new User(new OctetString(userName), priv));
var messages = MessageFactory.ParseMessages(bytes, users);
Assert.AreEqual(1, messages.Count);
var message = messages[0];
Assert.AreEqual(1, message.Variables().Count);
}
示例7: CreateEngine
private SnmpEngine CreateEngine()
{
// TODO: this is a hack. review it later.
var store = new ObjectStore();
store.Add(new SysDescr());
store.Add(new SysObjectId());
store.Add(new SysUpTime());
store.Add(new SysContact());
store.Add(new SysName());
store.Add(new SysLocation());
store.Add(new SysServices());
store.Add(new SysORLastChange());
store.Add(new SysORTable());
store.Add(new IfNumber());
store.Add(new IfTable());
var users = new UserRegistry();
users.Add(new OctetString("neither"), DefaultPrivacyProvider.DefaultPair);
users.Add(new OctetString("authen"), new DefaultPrivacyProvider(new MD5AuthenticationProvider(new OctetString("authentication"))));
users.Add(new OctetString("privacy"), new DESPrivacyProvider(new OctetString("privacyphrase"),
new MD5AuthenticationProvider(new OctetString("authentication"))));
var getv1 = new GetV1MessageHandler();
var getv1Mapping = new HandlerMapping("v1", "GET", getv1);
var getv23 = new GetMessageHandler();
var getv23Mapping = new HandlerMapping("v2,v3", "GET", getv23);
var setv1 = new SetV1MessageHandler();
var setv1Mapping = new HandlerMapping("v1", "SET", setv1);
var setv23 = new SetMessageHandler();
var setv23Mapping = new HandlerMapping("v2,v3", "SET", setv23);
var getnextv1 = new GetNextV1MessageHandler();
var getnextv1Mapping = new HandlerMapping("v1", "GETNEXT", getnextv1);
var getnextv23 = new GetNextMessageHandler();
var getnextv23Mapping = new HandlerMapping("v2,v3", "GETNEXT", getnextv23);
var getbulk = new GetBulkMessageHandler();
var getbulkMapping = new HandlerMapping("v2,v3", "GETBULK", getbulk);
var v1 = new Version1MembershipProvider(new OctetString("public"), new OctetString("public"));
var v2 = new Version2MembershipProvider(new OctetString("public"), new OctetString("public"));
var v3 = new Version3MembershipProvider();
var membership = new ComposedMembershipProvider(new IMembershipProvider[] { v1, v2, v3 });
var handlerFactory = new MessageHandlerFactory(new[]
{
getv1Mapping,
getv23Mapping,
setv1Mapping,
setv23Mapping,
getnextv1Mapping,
getnextv23Mapping,
getbulkMapping
});
var pipelineFactory = new SnmpApplicationFactory(store, membership, handlerFactory);
return new SnmpEngine(pipelineFactory, new Listener { Users = users }, new EngineGroup());
}
示例8: TestTrapV3Auth
public void TestTrapV3Auth()
{
byte[] bytes = Resources.trapv3auth;
UserRegistry registry = new UserRegistry();
registry.Add(new OctetString("lextm"), new DefaultPrivacyProvider(new MD5AuthenticationProvider(new OctetString("authentication"))));
IList<ISnmpMessage> messages = MessageFactory.ParseMessages(bytes, registry);
Assert.AreEqual(1, messages.Count);
ISnmpMessage message = messages[0];
Assert.AreEqual("80001F8880E9630000D61FF449", message.Parameters.EngineId.ToHexString());
Assert.AreEqual(0, message.Parameters.EngineBoots.ToInt32());
Assert.AreEqual(0, message.Parameters.EngineTime.ToInt32());
Assert.AreEqual("lextm", message.Parameters.UserName.ToString());
Assert.AreEqual("84433969457707152C289A3E", message.Parameters.AuthenticationParameters.ToHexString());
Assert.AreEqual("", message.Parameters.PrivacyParameters.ToHexString());
Assert.AreEqual("", message.Scope.ContextEngineId.ToHexString()); // SNMP#NET returns string.Empty here.
Assert.AreEqual("", message.Scope.ContextName.ToHexString());
Assert.AreEqual(318463383, message.MessageId);
Assert.AreEqual(1276263065, message.RequestId);
}
示例9: MainForm
public MainForm()
{
// TODO: this is a hack. review it later.
var store = new ObjectStore();
store.Add(new SysDescr());
store.Add(new SysObjectId());
store.Add(new SysUpTime());
store.Add(new SysContact());
store.Add(new SysName());
store.Add(new SysLocation());
store.Add(new SysServices());
store.Add(new SysORLastChange());
store.Add(new SysORTable());
store.Add(new IfNumber());
store.Add(new IfTable());
var users = new UserRegistry();
users.Add(new OctetString("neither"), DefaultPrivacyProvider.DefaultPair);
users.Add(new OctetString("authen"), new DefaultPrivacyProvider(new MD5AuthenticationProvider(new OctetString("authentication"))));
users.Add(new OctetString("privacy"), new DESPrivacyProvider(new OctetString("privacyphrase"),
new MD5AuthenticationProvider(new OctetString("authentication"))));
var getv1 = new GetV1MessageHandler();
var getv1Mapping = new HandlerMapping("v1", "GET", getv1);
var getv23 = new GetMessageHandler();
var getv23Mapping = new HandlerMapping("v2,v3", "GET", getv23);
var setv1 = new SetV1MessageHandler();
var setv1Mapping = new HandlerMapping("v1", "SET", setv1);
var setv23 = new SetMessageHandler();
var setv23Mapping = new HandlerMapping("v2,v3", "SET", setv23);
var getnextv1 = new GetNextV1MessageHandler();
var getnextv1Mapping = new HandlerMapping("v1", "GETNEXT", getnextv1);
var getnextv23 = new GetNextMessageHandler();
var getnextv23Mapping = new HandlerMapping("v2,v3", "GETNEXT", getnextv23);
var getbulk = new GetBulkMessageHandler();
var getbulkMapping = new HandlerMapping("v2,v3", "GETBULK", getbulk);
var v1 = new Version1MembershipProvider(new OctetString("public"), new OctetString("public"));
var v2 = new Version2MembershipProvider(new OctetString("public"), new OctetString("public"));
var v3 = new Version3MembershipProvider();
var membership = new ComposedMembershipProvider(new IMembershipProvider[] { v1, v2, v3 });
var handlerFactory = new MessageHandlerFactory(new[]
{
getv1Mapping,
getv23Mapping,
setv1Mapping,
setv23Mapping,
getnextv1Mapping,
getnextv23Mapping,
getbulkMapping
});
var pipelineFactory = new SnmpApplicationFactory(new RollingLogger(), store, membership, handlerFactory);
_engine = new SnmpEngine(pipelineFactory, new Listener { Users = users }, new EngineGroup());
_engine.ExceptionRaised += (sender, e) => MessageBox.Show(e.Exception.ToString());
InitializeComponent();
if (PlatformSupport.Platform == PlatformType.Windows)
{
// FIXME: work around a Mono WinForms issue.
Icon = Properties.Resources.network_server;
}
actEnabled.Image = Properties.Resources.media_playback_start;
tstxtPort.Text = @"161";
tscbIP.Items.Add(StrAllUnassigned);
foreach (IPAddress address in Dns.GetHostEntry(string.Empty).AddressList.Where(address => !address.IsIPv6LinkLocal))
{
tscbIP.Items.Add(address);
}
tscbIP.SelectedIndex = 0;
}
示例10: GetResponse
/// <summary>
/// Sends this <see cref="ISnmpMessage"/> and handles the response from agent.
/// </summary>
/// <param name="request">The <see cref="ISnmpMessage"/>.</param>
/// <param name="timeout">The time-out value, in milliseconds. The default value is 0, which indicates an infinite time-out period. Specifying -1 also indicates an infinite time-out period.</param>
/// <param name="receiver">Agent.</param>
/// <param name="udpSocket">The UDP <see cref="Socket"/> to use to send/receive.</param>
/// <returns></returns>
public static ISnmpMessage GetResponse(this ISnmpMessage request, int timeout, IPEndPoint receiver, Socket udpSocket)
{
if (request == null)
{
throw new ArgumentNullException("request");
}
if (receiver == null)
{
throw new ArgumentNullException("receiver");
}
if (udpSocket == null)
{
throw new ArgumentNullException("udpSocket");
}
var registry = new UserRegistry();
if (request.Version == VersionCode.V3)
{
registry.Add(request.Parameters.UserName, request.Privacy);
}
return request.GetResponse(timeout, receiver, registry, udpSocket);
}
示例11: GetResponse
/// <summary>
/// Sends this <see cref="SetRequestMessage"/> and handles the response from agent.
/// </summary>
/// <param name="timeout">The time-out value, in milliseconds. The default value is 0, which indicates an infinite time-out period. Specifying -1 also indicates an infinite time-out period.</param>
/// <param name="receiver">Agent.</param>
/// <param name="socket">The UDP <see cref="Socket"/> to use to send/receive.</param>
/// <returns></returns>
private ISnmpMessage GetResponse(int timeout, IPEndPoint receiver, Socket socket)
{
if (socket == null)
{
throw new ArgumentNullException("socket");
}
if (receiver == null)
{
throw new ArgumentNullException("receiver");
}
UserRegistry registry = new UserRegistry();
if (Version == VersionCode.V3)
{
registry.Add(Parameters.UserName, Privacy);
}
return MessageFactory.GetResponse(receiver, ToBytes(), MessageId, timeout, registry, socket);
}
示例12: TestGetRequestV3Auth
public void TestGetRequestV3Auth()
{
const string bytes = "30 73"+
"02 01 03 "+
"30 0F "+
"02 02 35 41 "+
"02 03 00 FF E3"+
"04 01 05"+
"02 01 03"+
"04 2E "+
"30 2C"+
"04 0D 80 00 1F 88 80 E9 63 00 00 D6 1F F4 49 "+
"02 01 0D "+
"02 01 57 "+
"04 05 6C 65 78 6C 69 "+
"04 0C 1C 6D 67 BF B2 38 ED 63 DF 0A 05 24 "+
"04 00 "+
"30 2D "+
"04 0D 80 00 1F 88 80 E9 63 00 00 D6 1F F4 49 "+
"04 00 "+
"A0 1A 02 02 01 AF 02 01 00 02 01 00 30 0E 30 0C 06 08 2B 06 01 02 01 01 03 00 05 00";
UserRegistry registry = new UserRegistry();
registry.Add(new OctetString("lexli"), new DefaultPrivacyProvider(new MD5AuthenticationProvider(new OctetString("testpass"))));
IList<ISnmpMessage> messages = MessageFactory.ParseMessages(bytes, registry);
Assert.AreEqual(1, messages.Count);
GetRequestMessage get = (GetRequestMessage)messages[0];
Assert.AreEqual(13633, get.MessageId);
//Assert.AreEqual(SecurityLevel.None | SecurityLevel.Reportable, get.Level);
Assert.AreEqual("lexli", get.Community.ToString());
//OctetString digest = new MD5AuthenticationProvider(new OctetString("testpass")).ComputeHash(get);
//Assert.AreEqual(digest, get.Parameters.AuthenticationParameters);
}
示例13: TestGetV3
public void TestGetV3()
{
const string bytes = "30 68 02 01 03 30 0F 02 02 6A 08 02 03 00 FF E3" +
"04 01 04 02 01 03 04 23 30 21 04 0D 80 00 1F 88" +
"80 E9 63 00 00 D6 1F F4 49 02 01 05 02 02 0F 1B" +
"04 05 6C 65 78 74 6D 04 00 04 00 30 2D 04 0D 80" +
"00 1F 88 80 E9 63 00 00 D6 1F F4 49 04 00 A0 1A" +
"02 02 2C 6A 02 01 00 02 01 00 30 0E 30 0C 06 08" +
"2B 06 01 02 01 01 03 00 05 00";
UserRegistry registry = new UserRegistry();
registry.Add(new OctetString("lextm"), DefaultPrivacyProvider.DefaultPair);
IList<ISnmpMessage> messages = MessageFactory.ParseMessages(bytes, registry);
Assert.AreEqual(1, messages.Count);
GetRequestMessage get = (GetRequestMessage)messages[0];
Assert.AreEqual(27144, get.MessageId);
//Assert.AreEqual(SecurityLevel.None | SecurityLevel.Reportable, get.Level);
Assert.AreEqual("lextm", get.Community.ToString());
}
示例14: TestGetRequestV3AuthPriv
public void TestGetRequestV3AuthPriv()
{
const string bytes = "30 81 80 02 01 03 30 0F 02 02 6C 99 02 03 00 FF" +
"E3 04 01 07 02 01 03 04 38 30 36 04 0D 80 00 1F" +
"88 80 E9 63 00 00 D6 1F F4 49 02 01 14 02 01 35" +
"04 07 6C 65 78 6D 61 72 6B 04 0C 80 50 D9 A1 E7" +
"81 B6 19 80 4F 06 C0 04 08 00 00 00 01 44 2C A3" +
"B5 04 30 4B 4F 10 3B 73 E1 E4 BD 91 32 1B CB 41" +
"1B A1 C1 D1 1D 2D B7 84 16 CA 41 BF B3 62 83 C4" +
"29 C5 A4 BC 32 DA 2E C7 65 A5 3D 71 06 3C 5B 56" +
"FB 04 A4";
MD5AuthenticationProvider auth = new MD5AuthenticationProvider(new OctetString("testpass"));
var registry = new UserRegistry();
registry.Add(new OctetString("lexmark"), new DESPrivacyProvider(new OctetString("passtest"), auth));
IList<ISnmpMessage> messages = MessageFactory.ParseMessages(bytes, registry);
Assert.AreEqual(1, messages.Count);
GetRequestMessage get = (GetRequestMessage)messages[0];
Assert.AreEqual(27801, get.MessageId);
//Assert.AreEqual(SecurityLevel.None | SecurityLevel.Reportable, get.Level);
Assert.AreEqual("lexmark", get.Community.ToString());
//OctetString digest = new MD5AuthenticationProvider(new OctetString("testpass")).ComputeHash(get);
//Assert.AreEqual(digest, get.Parameters.AuthenticationParameters);
}
示例15: TestTrapV3AuthPriv
public void TestTrapV3AuthPriv()
{
// The message body generated by snmp#net is problematic.
byte[] bytes = Resources.trapv3authpriv;
string line = ByteTool.Convert(bytes);
UserRegistry registry = new UserRegistry();
registry.Add(new OctetString("lextm"), new DESPrivacyProvider(new OctetString("privacyphrase"), new MD5AuthenticationProvider(new OctetString("authentication"))));
IList<ISnmpMessage> messages = MessageFactory.ParseMessages(bytes, registry);
Assert.AreEqual(1, messages.Count);
ISnmpMessage message = messages[0];
Assert.AreEqual("80001F8880E9630000D61FF449", message.Parameters.EngineId.ToHexString());
Assert.AreEqual(0, message.Parameters.EngineBoots.ToInt32());
Assert.AreEqual(0, message.Parameters.EngineTime.ToInt32());
Assert.AreEqual("lextm", message.Parameters.UserName.ToString());
Assert.AreEqual("89D351891A55829243617F2C", message.Parameters.AuthenticationParameters.ToHexString());
Assert.AreEqual("0000000069D39B2A", message.Parameters.PrivacyParameters.ToHexString());
Assert.AreEqual("", message.Scope.ContextEngineId.ToHexString()); // SNMP#NET returns string.Empty here.
Assert.AreEqual("", message.Scope.ContextName.ToHexString());
Assert.AreEqual(0, message.Scope.Pdu.Variables.Count);
Assert.AreEqual(1004947569, message.MessageId);
Assert.AreEqual(234419641, message.RequestId);
}