/// <summary> /// Sends an <see cref="ISnmpMessage"/>. /// </summary> /// <param name="message">The <see cref="ISnmpMessage"/>.</param> /// <param name="manager">Manager</param> public static void SendAsync(this ISnmpMessage message, EndPoint manager) { if (message == null) { throw new ArgumentNullException("message"); } if (manager == null) { throw new ArgumentNullException("manager"); } var code = message.TypeCode(); if ((code != SnmpType.TrapV1Pdu && code != SnmpType.TrapV2Pdu) && code != SnmpType.ReportPdu) { throw new InvalidOperationException(string.Format( CultureInfo.InvariantCulture, "not a trap message: {0}", code)); } using (var socket = manager.GetSocket()) { message.SendAsync(manager, socket); } }
/// <summary> /// Sends an <see cref="ISnmpMessage"/>. /// </summary> /// <param name="message">The <see cref="ISnmpMessage"/>.</param> /// <param name="manager">Manager</param> public static async Task SendAsync(this ISnmpMessage message, EndPoint manager) { if (message == null) { throw new ArgumentNullException(nameof(message)); } if (manager == null) { throw new ArgumentNullException(nameof(manager)); } SnmpType code = message.TypeCode(); if ((code != SnmpType.TrapV1Pdu && code != SnmpType.TrapV2Pdu) && code != SnmpType.ReportPdu) { throw new InvalidOperationException(string.Format( CultureInfo.InvariantCulture, "not a trap message: {0}", code)); } using (Socket socket = manager.GetSocket()) { await message.SendAsync(manager, socket).ConfigureAwait(false); } }
/// <summary> /// Sends an <see cref="ISnmpMessage"/>. /// </summary> /// <param name="message">The <see cref="ISnmpMessage"/>.</param> /// <param name="manager">Manager</param> public static async Task SendAsync(this ISnmpMessage message, IPEndPoint manager, CancellationToken cancellationToken = default) { if (message == null) { throw new ArgumentNullException(nameof(message)); } if (manager == null) { throw new ArgumentNullException(nameof(manager)); } var code = message.TypeCode(); if ((code != SnmpType.TrapV1Pdu && code != SnmpType.TrapV2Pdu) && code != SnmpType.ReportPdu) { throw new InvalidOperationException(string.Format( CultureInfo.InvariantCulture, "not a trap message: {0}", code)); } using (var socket = new UdpClient()) { await message.SendAsync(manager, socket, cancellationToken).ConfigureAwait(false); } }