private async void InformMessageReceived(object sender, InformRequestMessageReceivedEventArgs e) { using var scope = _serviceProvider.CreateScope(); var store = scope.ServiceProvider.GetRequiredService <ISNMPMessageStore>(); _logger.LogWarning("Inform version {0}: {1}", e.InformRequestMessage.Version, e.InformRequestMessage); var message = new SNMPMessage { Type = SNMPMessageType.INFORM, Version = (Data.Models.VersionCode)e.InformRequestMessage.Version, TimeStamp = e.InformRequestMessage.TimeStamp, ContextName = e.InformRequestMessage.Scope.ContextName.ToString(), MessageId = e.InformRequestMessage.Header.MessageId, Enterprise = e.InformRequestMessage.Enterprise.ToString(), UserName = e.InformRequestMessage.Parameters.UserName.ToString() }; foreach (var variable in e.InformRequestMessage.Variables()) { message.Variables.Add(new SNMPMessageVariable { VariableId = variable.Id.ToString(), Value = variable.Data.ToString() }); } await store.Add(message); }
public override void sendMsg(IMessage message) { SNMPMessage m = (SNMPMessage)message; if (m.opcode == SNMPMessage.OP.GET_REQUEST) { asyncTask = Messenger.GetAsync(SnmpVersion, agent, new OctetString(SNMPComunnity), new List <Variable> { new Variable(new ObjectIdentifier(m.OID)) }); //GetRequestMessage request = new GetRequestMessage(Messenger.NextRequestId, SnmpVersion, SNMPComunnity, new List<Variable> { new Variable(new ObjectIdentifier(m.OID))); //Task rep = request.SendAsync(agent); //ISnmpMessage reply = request.GetResponse(timeout, receiver); } else if (m.opcode == SNMPMessage.OP.SET_REQUEST) { } }
private async void InformMessageReceived(object sender, InformRequestMessageReceivedEventArgs e) { try { using var scope = _serviceProvider.CreateScope(); var store = scope.ServiceProvider.GetRequiredService <ISNMPMessageStore>(); _logger.LogWarning("Inform version {0}: {1}", e.InformRequestMessage.Version, e.InformRequestMessage); var message = new SNMPMessage { Type = SNMPMessageType.INFORM, Version = (VersionCode)e.InformRequestMessage.Version, TimeStamp = e.InformRequestMessage.TimeStamp, ContextName = e.InformRequestMessage.Scope?.ContextName?.ToString() ?? "", MessageId = e.InformRequestMessage.Header?.MessageId ?? 0, Enterprise = e.InformRequestMessage.Enterprise?.ToString() ?? "", UserName = e.InformRequestMessage.Parameters?.UserName?.ToString() ?? "" }; foreach (var variable in e.InformRequestMessage.Variables()) { message.Variables.Add(new SNMPMessageVariable { VariableId = variable.Id?.ToString() ?? "", Value = variable.Data?.ToString() ?? "" }); } await store.Add(message); } catch (Exception exception) { _logger.LogError(exception.Message); } }
public async Task Add(SNMPMessage message) { await _context.AddAsync(message); await _context.SaveChangesAsync(); }